Remediação Sensu: não é possível Disparar no Cliente

0

Eu sou novo na remediação do Sensu. Eu tentei reiniciar o processo com um script personalizado.

Senario: se o meu link http ficar inativo, eu quero executar manualmente o script e iniciá-lo.

Eu tentei a remediação no sensu, que permite executar o script automaticamente se algo for monitorado com o script personalizado para essa verificação de monitoramento. Ainda estou enfrentando problema toda a checagem e conexões são boas, mas quando meu link está desatualizado o sensu remediator não está acionando o cliente. Eu postei logs e configuração, por favor me diga onde estou indo errado ..

este é o log do Sensu-server

{"timestamp":"2016-05-16T09:44:52.768622+0000","level":"info","message":"processing event","event":{"id":"9a9f66c2-e70e-45fb-87fb-c9e9085c8e05","client":{"name":"zubron","address":"10.0.0.110","subscriptions":["zubron"],"version":"0.20.3","timestamp":1463391880},"check":{"command":"/etc/sensu/plugins/check_http -H 10.0.0.110 -p 7077","interval":60,"occurrences":2,"handlers":["remediator"],"subscribers":["zubron"],"standalone":false,"remediation":{"remediate-zubron":{"occurrences":[1,3],"severities":[2]},"trigger_on":["zubron"]},"name":"check-zubron-port","issued":1463391892,"executed":1463391892,"duration":0.002,"output":"connect to address 10.0.0.110 and port 7077: Connection refused\nHTTP CRITICAL - Unable to open TCP socket\n","status":2,"history":["0","0","0","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2","2"],"total_state_change":4},"occurrences":18,"action":"create","timestamp":1463391892}}
{"timestamp":"2016-05-16T09:44:52.864908+0000","level":"info","message":"handler output","handler":{"command":"/etc/sensu/handlers/sensu.rb","type":"pipe","severities":["critical"],"name":"remediator"},"output":["/etc/sensu/handlers/sensu.rb:108:in '[]': can't convert String into Integer (TypeError)\n","\tfrom /etc/sensu/handlers/sensu.rb:108:in 'block in parse_remediations'\n","\tfrom /etc/sensu/handlers/sensu.rb:106:in 'each'\n","\tfrom /etc/sensu/handlers/sensu.rb:106:in 'parse_remediations'\n","\tfrom /etc/sensu/handlers/sensu.rb:90:in 'handle'\n","\tfrom /var/lib/gems/1.9.1/gems/sensu-plugin-1.2.0/lib/sensu-handler.rb:55:in 'block in <class:Handler>'\n","REMEDIATION: Evaluating remediation: zubron {\"remediate-zubron\"=>{\"occurrences\"=>[1, 3], \"severities\"=>[2]}, \"trigger_on\"=>[\"zubron\"]} #=18 sev=2\n"]}

este é o meu arquivo de verificação no Sensu-server ...

{
    "checks": {
            "check-zubron-port": {
                    "command": "/etc/sensu/plugins/check_http -H 10.0.0.110 -p 7077",
                    "interval": 60,
                    "occurrences": 2,
                    "handlers": [
                            "remediator"
                    ],
                    "subscribers": [
                            "zubron"
                    ],
                    "standalone": false,
                    "remediation": {
                            "remediate-zubron": {
                                    "occurrences": [
                                            1,
                                            3
                                    ],
                                    "severities": [
                                            2
                                    ]
                            },
                            "trigger_on": [
                                    "zubron"
                            ]


                  }
                }
        }
}

e este é o meu arquivo de remediação ...

{
        "remediate-zubron": {
            "command": "sudo /bin/bash ~/zubron/home/moofwd-zubron-server/bin/start-moofwd.sh",
            "handlers": [],
            "subscribers": [
                "zubron"
            ],
            "standalone": false,
            "publish": false
    }
}

Resto sensu.rb Eu usei deste link

Há algo que eu esteja sentindo falta?

Existe algum outro sistema de monitoramento de onde podemos executar scripts ou comandos se algo cair?

Eu já tentei nagios nectar e monit.

    
por Vinood NK Maheshwari 16.05.2016 / 19:21

1 resposta

0

Eu vejo um erro no seu arquivo de remediação. Você está perdendo a chave "cheques".

Deveria ser assim,

{
    "checks": {
        "remediate-zubron": {
            "command": "sudo /bin/bash ~/zubron/home/moofwd-zubron-server/bin/start-moofwd.sh",
            "handlers": [],
            "subscribers": [
                "zubron"
            ],
            "standalone": false,
            "publish": false
        }
    }
}
  1. Poucos outros problemas possíveis são a configuração do seu cliente que deve estar inscrita em seu nome, ou seja, o nome university deve ser inscrito em university nos inscritos.

    {
        "client": {
            "name": "university",
            "address": "IP ADDRESS",
            "subscriptions": [
              "linux", "web-server", "system", "university"
            ]
        }
    }
    
  2. Outro problema pode estar com api_request (: POST) em remedediator.rb ou sensu.rb, O método a seguir deve se parecer com o exato dado abaixo. Em algum código antigo, ele tem '/checks/request' em vez de '/request' e resulta em quebra.

    def trigger_remediation(check, subscribers)
        api_request(:POST, '/request') do |req|
            req.body = JSON.dump('check' => check, 'subscribers' => subscribers)
        end
    end
    
  3. Em alguns casos, você precisa corrigir o Caso 2 e o Caso 3.

A seguir, o link de referência. Para lhe dar mais clareza sobre o assunto.

link

    
por 17.05.2016 / 16:39