Monitorar os serviços da GCP pelo Zabbix consultando a API do Stackdriver
- 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)
- Criar um Service Account com a Role Monitoring Admin
- 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
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:
- Metric Type - Um identificador para o tipo de métrica. Exemplo:
- Resource Label Key - Um classificador para realizar um filtro. Exemplo:
- Resource Label Value - Um valor do classificador para filtrar um único componente . Exemplo:
- Value Type - O tipo do valor da métrica. Exemplo: int64 ou double
- Period - O período determina o intervalo de tempo para o qual a agregação ocorre. Exemplo:
- 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'