/stackdriver-zabbix

Monitorar os serviços da GCP pelo Zabbix consultando a API do Stackdriver

Primary LanguagePython

Objetivo

Monitorar os serviços da GCP pelo Zabbix consultando a API do Stackdriver

Dependencias

  • Python 3.6 ou maior
  • Pip3 21.0 ou maior (Caso esteja em uma versão menor, executar: pip3 install --upgrade pip)
  • google-cloud-monitoring 1.1.0 (Executar: pip3 install google-cloud-monitoring==1.1.0)

Referência

Como utilizar

  • Criar um Service Account com a Role Monitoring Admin

Markdown Monster icon

  • Enviar o arquivo gerado com as credenciais do Service Account para a maquina do Zabbix no caminho: /usr/lib/zabbix/externalscripts
  • Renomar o arquivo com as credenciais do Service Account para service_acc_key.json
  • Enviar o script stackdriver-zabbix.py para a maquina do Zabbix no caminho: /usr/lib/zabbix/externalscripts
  • Dar permissão de execução no script stackdriver-zabbix.py
    sudo chmod +x /usr/lib/zabbix/externalscripts/stackdriver-zabbix.py

Parâmetros do script

Posição Nome Obrigatório
1 Project ID Sim
2 Metric Type Sim
3 Resource Label Key Sim
4 Resource Label Value Sim
5 Value type(int64 ou double) Sim
6 Period Não
  • Project ID - ID do Projeto que será monitorado. Exemplo:

Markdown Monster icon

  • Metric Type - Um identificador para o tipo de métrica. Exemplo:

Markdown Monster icon

  • Resource Label Key - Um classificador para realizar um filtro. Exemplo:

Markdown Monster icon

  • Resource Label Value - Um valor do classificador para filtrar um único componente . Exemplo:

Markdown Monster icon

  • Value Type - O tipo do valor da métrica. Exemplo: int64 ou double

Markdown Monster icon

  • Period - O período determina o intervalo de tempo para o qual a agregação ocorre. Exemplo:

Markdown Monster icon

Execução

  • Executar o script stackdriver-zabbix.py passando os parâmetros:
    /usr/lib/zabbix/externalscripts/stackdriver-zabbix.py ProjectID MetricType ResourceLabelKey ResourceLabelValue ValueType(int64 ou double) Period(Opcional)
  • Exemplo:
    /usr/lib/zabbix/externalscripts/stackdriver-zabbix.py 'project-id' 'cloudsql.googleapis.com/database/cpu/utilization' 'database_id' 'project-id:db-prod-read-replica' 'double'