Vấn đề kết nối TCP Sensu


7

Tôi có một ngăn Sensu / uchiwa mới đang chạy trên một máy ảo. Đó là một bản cài đặt "độc lập" - redis, rabbitmq, Sensu-server, Sensu-api, Sensu-client và uchiwa đều được cài đặt trên cùng một máy. Tôi có một kiểm tra duy nhất mà client.json đăng ký.

Nói tóm lại, có gì đó không ổn. Tôi đã đăng nhập vào bảng điều khiển uchiwa và có một thông báo cảnh báo rằng "Trung tâm dữ liệu Sensu-81 đã trả về: 500 L ERI MÁY CHỦ NỘI BỘ".

Các sensu-client, sensu-apisensu-servercác bản ghi chứa đầy những thông điệp và chỉ những thông điệp:

==> /var/log/sensu/sensu-api.log <==
{"timestamp":"2017-05-11T21:00:34.758243+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:34.758784+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}

==> /var/log/sensu/sensu-client.log <==
{"timestamp":"2017-05-11T21:00:35.973060+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:35.974858+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}

==> /var/log/sensu/sensu-server.log <==
{"timestamp":"2017-05-11T21:00:37.489540+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:37.489704+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}

Nó gợi ý rằng có lỗi khi kết nối với lớp vận chuyển, vì vậy tôi đã kiểm tra xem Transport.json của tôi có được cấu hình như mong đợi hay không và đó là (mặc định của Sensu):

{
  "transport": {
    "name": "rabbitmq",
    "reconnect_on_error": true
  }
}

Vì vậy, tôi đã kiểm tra rabbitmq.json của Sensu để kiểm tra xem nó có được cấu hình như mong đợi không, đúng như vậy. . 0,1). Để xác nhận thêm rằng các thông tin này đang hoạt động, tôi đã bật quản lý dựa trên web rabbitmq và đăng nhập thành công bằng các thông tin đăng nhập đó.

{
  "rabbitmq": {
        "ssl": {
      "cert_chain_file": "/etc/sensu/ssl/cert.pem",
      "private_key_file": "/etc/sensu/ssl/key.pem"
    },
        "host": "monitor",
    "port": 5671,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "sensu"
  }
}

Tôi cũng đã kiểm tra xem cấu hình của rabbitmq có như mong đợi không (ssl đã bật và như vậy):

[
    {rabbit, [
        {ssl_listeners, [5671]},
    {ssl_options, [{cacertfile,"/etc/rabbitmq/ssl/cacert.pem"},
                   {certfile,"/etc/rabbitmq/ssl/cert.pem"},
                   {keyfile,"/etc/rabbitmq/ssl/key.pem"},
                   {verify,verify_peer},
                   {fail_if_no_peer_cert,true}]}
      ]}
].

Tôi không biết nên tiếp tục gỡ lỗi ở đâu.

Tôi cũng đã kiểm tra các tệp cấu hình api.json và uchiwa.json, chỉ để đảm bảo rằng chúng có thông tin phù hợp, mà chúng thực hiện:

api.json:

{
  "api": {
    "host": "monitor",
    "port": 4567,
    "user": "admin",
    "password": "secret"
  }
}

uchiwa.json:

{
 "sensu": [
   {
       "name": "",
       "host": "monitor",
       "ssl": false,
       "port": 4567,
       "user": "admin",
       "pass": "secret",
       "path": "",
       "timeout": 5000
   }
 ],
 "uchiwa": {
   "users": [
    {
        "password": "admin",
        "username": "admin"
    }
],
   "port": 3000,
   "refresh": 5
  }
}

Việc cố gắng nói chuyện với api nhạy cảm trực tiếp từ bên trong hộp cũng gây ra lỗi 500:

vagrant@vagrant-ubuntu-trusty-64:/etc/default$ curl -I http://localhost:4567/stashes -u admin
Enter host password for user 'admin':
HTTP/1.1 500 Internal Server Error
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Connection: close
Content-length: 0

1
Tôi gặp vấn đề tương tự với Sensu và vấn đề hóa ra là một chuyện nhỏ - người dùng RabbitMQ mà tôi đã chỉ định trong cấu hình Sensu không có quyền cần thiết cho các hoạt động.
grumpyops

Câu trả lời:


4

Kết thúc các bản ghi rabbitmq giữ câu trả lời. Tôi thấy rằng có điều gì đó không ổn, nhưng các tin nhắn rất khó hiểu Tôi không thể biết điều gì đang thực sự phá vỡ. Hóa ra đó là sự cố SSL gây ra bởi một phiên bản cũ của Erlang, đây là thứ mà apt đã được cài đặt theo mặc định trên ubfox 14.04 (phiên bản erlang R16B03).

Vấn đề amqp này là những gì chỉ cho tôi giải pháp:

https://github.com/squaremo/amqp.node/issues/224

Tôi cần nâng cấp lên Erlang> = 17,5, sau đó nó hoạt động như mong đợi.


Rất vui khi thấy bạn tự mình giải quyết nó và bạn chia sẻ nó cho những độc giả tương lai :)
Tensibai
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.