Implantação e instalação do CentOS-7 do Zabbix 3.0

Diretório de artigos

  • Propósito:

  • Implantar o Zabbix 3.0

  • Configure a função de alarme de e-mail, configure a descoberta automática do sistema operacional e a função de adição automática

  • Configure a ação para monitorar automaticamente os hosts descobertos e enviar alertas por e-mail

  • Configure a ação para monitorar automaticamente os hosts descobertos e realizar o alarme do robô DingTalk

Implante e instale o Zabbix 3.0:

  • Configurar "nome do host e resolução de hosts"

HOSTNAME=zabbix
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts
bash		#触发bash;主机名已改变

insira a descrição da imagem aqui

  • Instale o MySQL (renomeado mariadb no CentOS-7)

yum -y install mariadb-server mariadb

insira a descrição da imagem aqui

systemctl start mariadb		#启动服务
systemctl enable mariadb	#加入系统服务,开机自启动

insira a descrição da imagem aqui

cd /usr/local/src/
wget https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
rpm -ivh /usr/local/src/zabbix-release-3.0-1.el7.noarch.rpm

insira a descrição da imagem aqui

  • Instale alguns pacotes zabbix que precisam ser usados
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

insira a descrição da imagem aqui

  • Instale o pacote de software zabbix-get para facilitar a obtenção de informações de monitoramento executando comandos posteriormente
yum install -y zabbix-get-3.0.28-1.el7.x86_64

insira a descrição da imagem aqui

  • Suplemento: (alguns nomes de pacotes e usos do zabbix) \color{red}{suplemento: (alguns nomes de pacotes e usos do zabbix)}Suplemento : ( alguns nomes de pacotes e usos de z a b b i x )
  1. zabbix-server-mysql-3.4.6-1.el7.x86_64 (instalador principal do servidor zabbix)
  2. zabbix-agent-3.4.6-1.el7.x86_64 (instalador mestre do agente zabbix)
  3. zabbix-web-3.4.6-1.el7.noarch (instalador web do zabbix)
  4. zabbix-get-3.4.6-1.el7.x86_64.rpm (programa de instalação do servidor zabbix, usado para obter dados de monitoramento)
  5. zabbix-web-mysql-3.4.6-1.el7.noarch.rpm (programa de instalação para banco de dados de conexão web zabbix)
  6. zabbix-release-3.4.2-1.el7.noarch.rpm (gerar arquivo de configuração de fonte zabbix yum)
  7. zabbix-sender-3.4.6-1.el7.x86_64.rpm (instalador do agente zabbix, usado para enviar dados de monitoramento)

Em seguida, concentre-se nos próximos dois pacotes (zabbix-get e zabbix-sender):

  • zabbix-get (instalado no lado do servidor)
  • zabbix-sender (instalado no lado do agente)
  • zabbix-get é instalado no lado do servidor zabbix, usado para se comunicar com o lado do agente zabbix e usado para puxar dados ativamente do lado do agente para o lado do servidor;
  • O zabbix-sender é instalado no lado do agente zabbix, usado para se comunicar com o lado do servidor zabbix e usado para enviar ativamente os dados do lado do agente para o lado do servidor.
rpm -qa |grep zabbix	#查看已经安装的Zabbix程序包

insira a descrição da imagem aqui

Mysql constrói banco de dados, importa biblioteca e tabela zabbix

mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
quit;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix		# 导入数据库脚本,生成数据库环境并授权
  • Comando Zcat:
    "Zcat" é um utilitário de linha de comando para visualizar o conteúdo de arquivos compactados sem descompactá-los. Ele expande o arquivo compactado para a saída padrão, permitindo que você visualize seu conteúdo. Além disso, zcat tem exatamente o mesmo resultado ao executar o comando gunzip -c.
    insira a descrição da imagem aqui

Modifique o arquivo de configuração principal do Zabix para iniciar

#将DBPassword复制一行进行修改
sed -i 's/# DBPassword=.*/&\nDBPassword=zabbix/g' /etc/zabbix/zabbix_server.conf
#为Zabbix前端配置PHP,更改时区
sed -i 's|# \(php_value date.timezone\) Europe/Riga|\1 Asia/Shanghai|g' /etc/httpd/conf.d/zabbix.conf
#重启服务
systemctl restart zabbix-server zabbix-agent httpd
#加入系统服务,开机自启动
systemctl enable zabbix-server zabbix-agent httpd

insira a descrição da imagem aqui

  • Acesso à página da Web: http://192.168.137.235/zabbix
    insira a descrição da imagem aqui
  • Aqui você pode ver que o valor da data do fuso horário que modificamos acima entrou em vigor
    insira a descrição da imagem aqui
  • Preencha a Senha do banco de dados: zabbix
    insira a descrição da imagem aqui
  • Liste os detalhes dos serviços Zabbix, a próxima etapa padrão
    insira a descrição da imagem aqui
  • Resumo antes da instalação, próxima etapa padrão
    insira a descrição da imagem aqui
  • Após a conclusão da instalação, clique em Concluir para fazer login na página de gerenciamento da web
    insira a descrição da imagem aqui
  • Nome de usuário e senha padrão Admin/zabbix
    insira a descrição da imagem aqui
  • Altere o idioma da interface para chinês (de acordo com a preferência pessoal, não é necessário)
    insira a descrição da imagem aqui
  • Mude para chinês (zh_Cn) chinês, atualize para confirmar a atualização
    insira a descrição da imagem aqui

Configure a função de alerta de e-mail:

  • Gerenciamento – Tipo de Mídia de Alarme – E-mail
    insira a descrição da imagem aqui

  • Adicionado 163 caixas de correio para enviar e-mails de alarme
    insira a descrição da imagem aqui

  • Altere o meio de alarme do administrador (Admin) Admin
    - Usuário - Admin

    insira a descrição da imagem aqui

  • Adicionar um meio de alerta
    insira a descrição da imagem aqui

  • De acordo com as necessidades, defina e ajuste você mesmo
    insira a descrição da imagem aqui

  • atualizar, adicionar
    insira a descrição da imagem aqui

Configure a descoberta automática e teste:

  • Abra uma nova máquina virtual e instale e configure o cliente zabbix
# 主机名和hosts解析部署
HOSTNAME=zabbix-test
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts
bash		#触发bash;主机名已改变

insira a descrição da imagem aqui

# 将 Zabbix 服务端添加到 hosts 解析文件中(方便后面配置文件指向服务端地址)
echo "192.168.137.235 zabbix_server">>/etc/hosts

insira a descrição da imagem aqui

# 使用官方yum源安装配置Zabbix agent
cd /usr/local/src/
wget https://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
rpm -ivh /usr/local/src/zabbix-release-3.0-1.el6.noarch.rpm

insira a descrição da imagem aqui

# 安装客户端
yum -y install zabbix-agent

insira a descrição da imagem aqui

# 修改客户端配置文件 zabbix_agentd.conf
cd /etc/zabbix/
sed -i 's/^Server=127.0.0.1/Server=zabbix_server/g' zabbix_agentd.conf
sed -i 's/^ServerActive=127.0.0.1/ServerActive=zabbix_server:10051/g' zabbix_agentd.conf
sed -i "s/^\(Hostname=\).*/\1$(hostname)/g" zabbix_agentd.conf
# 在当前系统级别开启 zabbix-agent 服务,并启动客户端(便于实现自动发现)
chkconfig zabbix-agent on
/etc/init.d/zabbix-agent start

insira a descrição da imagem aqui

  • Adicione a função de descoberta automática à página da web:
    Configuração – Descoberta automática – Criar regras de descoberta

    insira a descrição da imagem aqui
  • Adicionar regra de descoberta automática
    insira a descrição da imagem aqui
  • status ativado
    insira a descrição da imagem aqui
  • Detecção – descoberta automática
    Você pode ver que o cliente foi conectado e a descoberta automática está completa

    insira a descrição da imagem aqui
  • Suplemento (operação opcional): − − Criar uma ação de descoberta automática (ação) − − realizar adição automática ou enviar uma notificação por e-mail) \color{red}{Suplemento (operação opcional):-- Criar uma ação de descoberta automática (ação ) - - realizar adição automática ou enviar notificação por e-mail)}Suplemento ( operação opcional ) : _−Criar ação de descoberta automática ( ação ) _ _ _ _ _Realize adição automática ou envie notificação por e-mail )
    • Primeiro, crie um grupo de hosts para facilitar a adição automática de hosts de descoberta ao grupo posteriormente
      insira a descrição da imagem aqui
    • Configuração - Ação - Origem do Evento (Descoberta Automática) - Criar Ação - Enviar e-mail de notificação após adicionar automaticamente o host
      insira a descrição da imagem aqui
    • Criar uma
      guia Configurar ações de descoberta automática
      insira a descrição da imagem aqui
    • Aba Configurar Condições
      insira a descrição da imagem aqui
    • Guia Configurar Ações - Enviar Email
      insira a descrição da imagem aqui
    • Exibir a lista de ações de descoberta automática
      insira a descrição da imagem aqui
    • No evento, podemos ver o evento acionado pela descoberta automática
      insira a descrição da imagem aqui
    • O cliente receberá um e-mail quando a conexão for desconectada
      insira a descrição da imagem aqui

Crie hosts e grupos de hosts:

  • Configuração – Host – Criar Host
    insira a descrição da imagem aqui
  • Adicione o conteúdo da primeira guia e as guias restantes não serão definidas temporariamente
    insira a descrição da imagem aqui
  • Visualize o grupo de hosts, o grupo de hosts recém-criado foi gerado e o zabbix-agent foi adicionado a este grupo de hosts
    insira a descrição da imagem aqui

Configurar itens de monitoramento (item):

insira a descrição da imagem aqui

  • Criar um novo item de monitoramento
    insira a descrição da imagem aqui
  • Configurar e adicionar itens de monitoramento de CPU

system.cpu.switches: O número de contextos para alternar. Ele retorna um valor inteiro.

  • O servidor executa o comando para obter o valor inteiro do número de contextos de CPU do cliente para alternar
zabbix_get -s 192.168.137.137 -k "system.cpu.switches"

insira a descrição da imagem aqui

  • Configurar a aquisição de itens de monitoramento
    insira a descrição da imagem aqui
  • Visualize os itens de monitoramento do zabbix-agent novamente
    insira a descrição da imagem aqui
  • Exibir a tendência do gráfico de tendências
    insira a descrição da imagem aqui
  • Configurar e adicionar itens de monitoramento de placa de rede
net.if.in[if,<mode>]	网络接口上传流量统计;返回 整数。
[if,<mode>]	带中括号的Key表示能接受参数的key
if 指定网卡接口名称;<mode> 指定具体需要监控模式的数据
  • Suplemento: adicionar método de chave personalizado
要想使用自定义key,需要更改agent端配置文件/etc/zabbix/zabbix-agentd.conf
UserParameter=<key>,<command> -- 不接收参数
UserParameter=system.memory.free,awk '/^MemFree/{print $2}' /proc/meminfo
UserParameter=<key[*]>,<command>$1...$9 -- 接收参数
UserParameter=system.memory.usage[*],awk '/^$1/{print $$2}' /proc/meminfo
第一个$1是前system.memory.usage[*]的所有输出结果;$$2是通过awk过滤出第二行或列的值。

Exemplo: \color{vermelho}{Exemplo:}Exemplo :

找到UserParameters,添加UserParametes=system.memory.free,awk '/^MemFree/{print $2}' /proc/meminfo(自定义的key,需注意不要与内建key重名) --监控空闲内存的值
配置完成需要重启服务:systemctl restart zabbix-agent.service
服务端通过命令查看客户端空先内存:zabbix_get -s 192.168.137.139 -k "system.memory.free"

insira a descrição da imagem aqui

  • O servidor executa o comando para obter o valor inteiro das estatísticas de tráfego de upload da interface de rede do cliente
zabbix_get -s 192.168.137.137 -k "net.if.in[eth0,packets]"
zabbix_get -s 192.168.137.137 -k "net.if.in[eth0,bytes]"

insira a descrição da imagem aqui

  • Execute o comando ifconfig no cliente para ver de onde vêm os dados e se são consistentes
    insira a descrição da imagem aqui
  • Configurar itens de monitoramento para obter e salvar (atualizar)
    insira a descrição da imagem aqui
  • Além de salvar (atualizar), a parte inferior do item de controle também oferece suporte à opção de clonagem, que pode clonar um item de monitoramento e configurá-lo
    insira a descrição da imagem aqui
  • Clone um item de monitoramento e adicione monitoramento como: lnboud Bytes – o número de bytes de entrada
    Apenas modifique o valor e o nome da chave

    insira a descrição da imagem aqui
  • Continue a clonar e adicionar o número de pacotes de saída e bytes de saída Número de
    pacotes de saída

    insira a descrição da imagem aqui
  • Bytes de saída
    insira a descrição da imagem aqui
  • Salve e visualize novos itens de monitoramento
    insira a descrição da imagem aqui
  • Você ainda pode visualizar a tendência dos dados de monitoramento
    insira a descrição da imagem aqui

Configure o gatilho (Trigger):

  • Configuração - host - host/grupo de hosts correspondente - acionador - selecione o proprietário e o host do grupo correspondente - crie um acionador
    insira a descrição da imagem aqui
  • Criar um novo acionador Pacotes de entrada – o número médio de pacotes de entrada excede 100 por segundo para acionar um evento Evento (alarme)
    insira a descrição da imagem aqui
  • Selecione o item de monitoramento correspondente
    insira a descrição da imagem aqui
  • Selecione o número de pacotes de entrada
    insira a descrição da imagem aqui
  • Configurar expressões de gatilho
    insira a descrição da imagem aqui
  • Finalmente, configure e adicione

{zabbix-agent:net.if.in[eth0,packets].last(#1)}>100
insira a descrição da imagem aqui

  • Ver lista de gatilhos
    insira a descrição da imagem aqui
  • Visualize a tendência dos itens de monitoramento
    insira a descrição da imagem aqui
  • Veja os gatilhos associados e monitore o tamanho do número de pacotes
    insira a descrição da imagem aqui
  • Volte para o gatilho, altere o valor para "5" (100 é muito definido) e observe
    para visualizar eventos anormais (3 métodos)

    insira a descrição da imagem aqui
    • O primeiro método: filtrar os gatilhos correspondentes ao host
      insira a descrição da imagem aqui
    • A segunda é visualizar os eventos do host correspondente
      insira a descrição da imagem aqui
    • A terceira maneira é visualizar o status do sistema correspondente do painel
      insira a descrição da imagem aqui

Configurar ações – Ações e configurar alertas de e-mail:

  • Configuração - Ações - Gatilhos (criar ação)
    insira a descrição da imagem aqui
  • ação de configuração
    insira a descrição da imagem aqui
  • condições de configuração
    insira a descrição da imagem aqui
  • Configurar Ações – Enviar Mensagem de Correio
    insira a descrição da imagem aqui
  • ver lista de ações
    insira a descrição da imagem aqui
  • Verifique se você recebeu o e-mail
    insira a descrição da imagem aqui

∗ ∗ Resumo: ∗ ∗ \color{red}{**Resumo:**}Resumo :
Cliente se conecta ao servidor – configura itens de monitoramento – configura gatilhos – executa ações – recebe alarmes
∗ ∗ Suplemento: ∗ ∗ \color{red}{**Suplemento: **}Suplemento : -Detalhes de configuração da guia
Ação-Detalhes de configuração da guia Condição-Detalhes de configuração da guia Operação - Detalhes de configuração da operação de ação-Enviarmensagem-Comando remotoexecutado
insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui


insira a descrição da imagem aqui

insira a descrição da imagem aqui

Tente restaurar o drill de falha com a ajuda de um script:

  • Instale o serviço httpd:

O cliente instala e inicia o serviço Httpd, e escuta a porta 80;
o servidor monitora este serviço (porta), e caso não seja detectado, executa a operação "restart/start".
O status detectado é "OK"; caso contrário, "Problema"

# 客户端安装httpd服务
 yum install -y  httpd

insira a descrição da imagem aqui

# 客户端启动 httpd 服务并查看进程及端口
systemctl start httpd.service		#启动服务
ps -ef |grep httpd				#查看服务进程		
ss -tnl						#查看启用端口

insira a descrição da imagem aqui

  • O host zabbix-agent adiciona itens de monitoramento (itens):

insira a descrição da imagem aqui

  • Exibir itens de monitoramento, adicionados
    insira a descrição da imagem aqui
  • Ver dados de detecção
    insira a descrição da imagem aqui
  • Exibir tendências de detecção
    insira a descrição da imagem aqui
  • O host zabbix-agent adiciona triggers (Triggers):

  • novo gatilho

{zabbix-agent:net.tcp.listen[80].last(#1)}=0
insira a descrição da imagem aqui

  • selecionar expressão
    insira a descrição da imagem aqui
  • Ver lista de gatilhos
    insira a descrição da imagem aqui
停止 httpd 服务
systemctl stop httpd.service

insira a descrição da imagem aqui

  • Exibir tendências do monitor novamente
    insira a descrição da imagem aqui
启动 httpd服务,查看事件
systemctl start httpd.service
状态由:OK -- Problem -- OK

insira a descrição da imagem aqui

  • zabbix-agent host adiciona ações (Ações):

    • Configurar a guia Ações
      insira a descrição da imagem aqui
    • Configurar a guia Condições
      insira a descrição da imagem aqui
    • Configurar a guia Ações
      • Primeira etapa da configuração
        insira a descrição da imagem aqui
      • Configurar a segunda etapa
        insira a descrição da imagem aqui

A premissa da implementação do script personalizado (script personalizado):
configure no lado do agente:
1. zabbix tem autoridade para executar o script correspondente;
edite o arquivo /etc/sudoers, adicione: zabbix ALL=(ALL) NOPASSWD: ALL
comente o seguinte linha: Defaults requlretty
2. O processo do agente deve permitir a execução de comandos remotos, edite o
arquivo e defina EnableRemoteCommands=1; reinicie o serviço para entrar em vigor

  • Modifique o arquivo de configuração do zabbix-agent:
visudo		#为zabbix用户赋予sudo权限,如果 /etc/sudoers文件中有Defaults requiretty这一行需要注释,表明远程执行命令不需要开启终端

insira a descrição da imagem aqui

systemctl restart zabbix-agent.service		#重启zabbix-agent客户端服务

insira a descrição da imagem aqui

  • Configurar a terceira etapa
    insira a descrição da imagem aqui
  • Ver lista de ações
    insira a descrição da imagem aqui
  • Feche o serviço httpd e acione a ação
systemctl stop httpd.service		#停止httpd服务
ps -ef |grep httpd				#查看服务进程		
ss -tnl						#查看启用端口

insira a descrição da imagem aqui

  • Exibir mudanças de tendência de status
    insira a descrição da imagem aqui
  • Verifique o evento e descubra que o tempo de inatividade do serviço é muito curto
    insira a descrição da imagem aqui
  • De acordo com o nível de log, as ações executadas serão exibidas em /var/log/zabbix/zabbix_server.log
  • Modifique o número da porta de inicialização do serviço httpd, verifique se ele continuará a executar as próximas etapas (escalonamento do problema) \color{red}{modifique o número da porta de inicialização do serviço httpd, verifique se ele continuará a executar as próximas etapas (problema escalação)}Modifique o número da porta de inicialização do serviço h t t p d e verifique se ele continuará a executar as próximas etapas ( escalonamento do problema )
grep Listen /etc/httpd/conf/httpd.conf			#查看httpd占用端口号
sed -i 's/80/8080/g' /etc/httpd/conf/httpd.conf		#修改监听端口Listen 80为8080
grep Listen /etc/httpd/conf/httpd.conf			#查看httpd占用端口号

insira a descrição da imagem aqui

ss -tnl						#查看当前占用端口
systemctl restart httpd.service	#重启httpd服务
ss -tnl						#查看当前占用端口

insira a descrição da imagem aqui

  • Veja os dados mais recentes, tendências de dados
    insira a descrição da imagem aqui

  • Aguarde alguns minutos para visualizar o status de execução do evento
    insira a descrição da imagem aqui

  • Verifique, o correio foi entregue
    insira a descrição da imagem aqui

  • Modifique o número da porta de volta para 80 para reiniciar o serviço e verifique o e-mail
    insira a descrição da imagem aqui

Adicione o tipo de mídia do e-mail de alarme – use script (script):

  • Adicionado
    insira a descrição da imagem aqui
    script de tipo de mídia de alarme − − local de armazenamento de script no servidor zabbix: \color{red}{script -- local de armazenamento de script no servidor zabbix:}roteiro _ _ _ _ _−O local onde o script está armazenado no servidor z a b b i x :
位于server主机的alertscripts参数定义的目录下,默认为/usr/lib/zabbix/alertscripts/
zabbix调用脚本时会向其传递参数;3.0之前的版本通过:
	$1:消息接收人	$2:消息主题	  $3:消息主体
3.X之后的版本,此三个参数默认不再传递,需自行定义;
	参数(){
    
    ALSTER.SENDTO}	{
    
    ALSTER.SUBJECT}	{
    
    ALSTER.MESSAGE}
  • Exibir lista de mídia
    insira a descrição da imagem aqui

  • Adicionado tipo de meio de alarme "Admin" com base no original
    insira a descrição da imagem aqui

  • Selecione o tipo, adicione
    insira a descrição da imagem aqui

  • atualizar mídia de alarme
    insira a descrição da imagem aqui

  • Ação adicionada – ação (use script para enviar e-mail)
    insira a descrição da imagem aqui

  • Adicionar scripts ao servidor zabbix

yum provides */mail		#查看mail命令在哪个安装包中(脚本中用到此命令,需要安装)
yum install -y mailx-12.5-19.el7.x86_64		#安装包含mailm命令安装包
vi sendmail.sh		#新建脚本文件,需要与配置报警媒介脚本命名一样

insira a descrição da imagem aqui

chmod +x sendmail.sh	#赋予执行权限
systemctl restart zabbix-server	#重启服务生效
bash -n sendmail.sh	测试脚本有没有问题
bash -x sendmail.sh [email protected] "hello world" "hello everyone"	#发送测试邮件

insira a descrição da imagem aqui

  • Verifique se o e-mail foi enviado com sucesso
    insira a descrição da imagem aqui

  • O cliente altera o número da porta novamente, aguarda o tempo e verifica novamente.
    Verifique o evento, todas as quatro etapas foram executadas

    insira a descrição da imagem aqui

  • O log da ação de execução pode ser visualizado em: Report – Action Log para visualizar o status do envio da execução (incluindo conteúdo do assunto)
    insira a descrição da imagem aqui

  • Verifique se o e-mail foi realmente recebido
    insira a descrição da imagem aqui

Criar gráficos:

  • Configuração - Host - Gráficos (gráficos)

  • Crie um gráfico de tendência do número de pacotes de entrada e saída
    insira a descrição da imagem aqui
  • Exibir gráfico
    Monitoramento – gráfico – selecione o grupo/host correspondente
    insira a descrição da imagem aqui
  • Crie um gráfico de tendências de bytes de entrada e saída
    insira a descrição da imagem aqui
  • Crie um gráfico de tendência do número de switches de contexto da CPU
    insira a descrição da imagem aqui
  • Criar gráfico de tendência de serviço da web (usando pizza)
    insira a descrição da imagem aqui
  • Exiba o gráfico de tendências acima em uma tela:

    Detecção – Gráfico Agregado – Criar Gráfico Agregado
    insira a descrição da imagem aqui
  • Visualize a lista de gráficos agregados e configure-os
    insira a descrição da imagem aqui
  • adicionar gráficos
    insira a descrição da imagem aqui
  • Adicione quatro gráficos ao gráfico agregado por vez
    insira a descrição da imagem aqui
  • Ver o efeito
    insira a descrição da imagem aqui

Configure o modelo de host (Modelo):

É muito semelhante a criar um host e configurar itens de monitoramento de host, gatilhos, gráficos, etc., então não vou apresentá-lo em detalhes aqui\color{red}{É muito semelhante a criar um host e configurar itens de monitoramento de host, gatilhos, gráficos, etc., então aqui Introdução não muito detalhada}É muito semelhante a criar um host e configurar itens de monitoramento de host , gatilhos , gráficos, etc. , então não vou apresentá -lo em detalhes aqui
insira a descrição da imagem aqui

  • criar modelo
    insira a descrição da imagem aqui
  • Filtre a lista de modelos no grupo test-templates-group
    insira a descrição da imagem aqui
  • Acesse o modelo e crie um conjunto de aplicativos para este modelo
    insira a descrição da imagem aqui
  • Crie um item de monitoramento de modelo - o número de bytes de entrada e saída da placa de rede
    insira a descrição da imagem aqui
  • Modelo de Visualização - Lista de Itens de Monitoramento
    insira a descrição da imagem aqui
  • Criar Modelo - Gráfico
    insira a descrição da imagem aqui
  • Visualize a lista de gráficos no modelo de modelos de teste
    insira a descrição da imagem aqui
  • Método de modelo de link de host
    insira a descrição da imagem aqui
  • Método de modelo de desvinculação do host
    insira a descrição da imagem aqui
  • Exibir gráficos de tendências de monitoramento para hosts de modelo vinculados
    insira a descrição da imagem aqui
  • Vincule/agregue outros modelos a este modelo e aplique seu conteúdo de configuração de modelo.
    Por exemplo: Link Template OS modelos Linux no modelo test-templates, todos aplicáveis ​​ao sistema operacional linux

    insira a descrição da imagem aqui
  • Depois de vincular o modelo Template OS Linux, verifique novamente o conteúdo do modelo test-templates, que
    obviamente aumentou muito: conjuntos de aplicativos/itens de monitoramento/triggers/gráficos...etc.

    insira a descrição da imagem aqui
  • Importação/exportação de templates – é conveniente compartilhar templates entre diferentes servidores zabbix
    insira a descrição da imagem aqui
  • Crie um novo serviço web de item de monitoramento de host, chame a macro "{$HTTP_PORT}"
    insira a descrição da imagem aqui
  • Visualize os itens de monitoramento recém-configurados
    insira a descrição da imagem aqui
  • Adicionar macros globais
    insira a descrição da imagem aqui
  • Visualize os itens de monitoramento recém-configurados novamente
    insira a descrição da imagem aqui
  • Adicionar macro de modelo
    insira a descrição da imagem aqui
  • Visualize os itens de monitoramento recém-configurados novamente
    insira a descrição da imagem aqui
  • Adicionar macro de host
    insira a descrição da imagem aqui
  • Visualize os itens de monitoramento recém configurados novamente
    insira a descrição da imagem aqui
    Resumo: \color{red}{Resumo:}Resumo :
由此断定,范围越小,优先级越高;
宏的依次查找次序为:
全局宏 -- 模板宏 -- 主机宏
宏类型:
	内建:{
    
    MACRO_NAME}
	自定义:{
    
    $MACRO_NAME}
命名方式:大写字母、数字和下划线组成;

Adicione itens de monitoramento de memória livre para o cliente criando uma chave personalizada:

	创建自定义Key方法,上面在创建主机组的时候已经讲过,也做了示范;

insira a descrição da imagem aqui

  • Veja os últimos itens de monitoramento sem memória de dados
    insira a descrição da imagem aqui
  • Ao visualizar o gráfico de tendência e exibir
    insira a descrição da imagem aqui
    o gatilho para definir este item de monitoramento em unidades Mb, ele deve ser menor que um determinado valor, acionando Ação (ação) para alarme − − não fazendo demonstração Ao definir o gatilho para este item de monitoramento, deve be Quando for menor que um determinado valor, acione uma Ação (ação) para dar um alarme − - sem demonstração\color{red}{Ao definir o acionador deste item de monitoramento, ele deve acionar uma Ação (ação) quando for menor que um determinado valor Alarme -- sem demonstração Ao definir o acionador deste item de monitoramento, ele deve ser menor que um determinado valor, acionar Ação (ação) para alarme -- sem demonstração}Ao definir o disparo deste item de monitoramento , quando for menor que um determinado valor , acione Action ( ação ) para dar um alarme _−Sem demonstração Ao definir o disparo deste item de monitoramento , quando for menor que um determinado valor , acionar Action i n ( ação ) para dar um alarmesem apresentação

O cliente instala o serviço Nginx e configura o monitoramento:

  • Nota: \color{vermelho}{Nota:}Nota :
上面安装了httpd服务,端口会被占用,因此先把httpd服务停掉;
systemctl stop httpd.service
将zabbix中httpd的80端口监控项也禁用掉。
  • O cliente instala o serviço nginx:

# 先下载nginx的rpm包
cd /usr/local/src/
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm

insira a descrição da imagem aqui

# 安装nginx服务
yum install -y nginx-1.10.0-1.el7.ngx.x86_64.rpm

insira a descrição da imagem aqui

  • Edite o arquivo de configuração "/etc/nginx/conf.d/default.conf" e adicione a seção de localização
    insira a descrição da imagem aqui
  • Iniciar o serviço nginx
nginx -t		#查看配置文件语法是否存在错误
systemctl start nginx.service		#启动服务
ps -ef |grep nginx			#查看进程
netstat -anpl |grep pid	#查看占用端口号
curl http://127.0.0.1/ngxstatus		#网页查看nginx的活动连接数

insira a descrição da imagem aqui

  • Adicione uma chave personalizada para obter o número de conexões ativas nginx
# 修改zabbix-agent配置文件"/etc/zabbix/zabbix_agentd.conf" 添加:
UserParameter=nginx.status.active,curl -s http://127.0.0.1/ngxstatus | awk '/^Active/{print $3}'
  • Adicione uma chave personalizada para obter o número de visitas que o nginx aceita
UserParameter=nginx.status.active,curl -s http://127.0.0.1/ngxstatus | awk 'NR==3{print $3}'
# 重启服务
systemctl restart zabbix-agent.service

insira a descrição da imagem aqui

# zabbix-server端命令获取自定义key的结果(nginx活动连接数)
zabbix_get -s 192.168.137.139 -k "nginx.status.active"
# zabbix-server端命令获取自定义key的结果(nginx接收访问的数量)
zabbix_get -s 192.168.137.139 -k "nginx.status.accepts"

insira a descrição da imagem aqui

  • Para facilitar a leitura dos valores dos parâmetros e corresponder automaticamente aos parâmetros que precisam ser lidos, é necessário escrever um script \color{red}{Para facilitar a leitura dos valores dos parâmetros e corresponder automaticamente aos parâmetros que precisam para ser lido, um script precisa ser escrito}Para facilitar a leitura dos valores dos parâmetros e corresponder automaticamente aos parâmetros que precisam ser lidos , um script precisa ser escrito
cat /usr/bin/ngxstatus.sh

insira a descrição da imagem aqui

# 赋予脚本执行权限
chmod +x /usr/local/ngxstatus.sh
# 依次执行脚本获取各个值
/usr/bin/ngxstatus.sh active

insira a descrição da imagem aqui

# 修改zabbix-agent配置文件自定义key参数的变量值
UserParameter=nginx.status.[*],/usr/bin/ngxstatus.sh $1
# 重启服务
systemctl restart zabbix-agent.service

insira a descrição da imagem aqui

  • O servidor executa o comando e verifica novamente o valor obtido
zabbix_get -s 192.168.137.139 -k "nginx.status.[active/accepts/...]"

insira a descrição da imagem aqui

  • Resumo: \color{vermelho}{Resumo:}Resumo :
    Combine a chave personalizada no script de chamada para criar o item de monitoramento do zabbix-agent. Não vou explicar em detalhes aqui, mas pode ser realizado combinando a chave de memória livre personalizada acima.
    Exemplo:
    • Configurar itens de monitoramento nginx-ativos
      insira a descrição da imagem aqui
    • Criar gatilhos, vincular a itens de monitoramento (item)
      insira a descrição da imagem aqui
    • Visualize o gráfico de tendências de monitoramento.
      insira a descrição da imagem aqui
      Se o status for zero, o gatilho acionará um evento, e o evento executará uma ação e, em seguida, enviará um alarme.
      Aqui está uma breve introdução a eles, e o restante será adicionado por você, e esses indicadores obtidos pelo nginx serão colocados em gráficos agregados.

Função de alarme Zabbix do robô de unhas Python:

Primeiro adicione um robô personalizado no chat em grupo do DingTalk:
创建群聊 -- 群设置 -- 添加机器人 -- 选择自定义机器人

insira a descrição da imagem aqui

  • clique para adicionar
    insira a descrição da imagem aqui

  • Nome do bot personalizado; adição concluída
    insira a descrição da imagem aqui

  • Copie o conteúdo do webhook
    insira a descrição da imagem aqui

  • Depois de adicionar, haverá uma mensagem de bate-papo em grupo
    insira a descrição da imagem aqui

  • Criar roteiro:

# 在zabbix服务端的alertscripts目录下新建一个python脚本
cd /usr/lib/zabbix/alertscripts/
# 脚本内容可以直接克隆我的Git:
git --version		#查看是否安装又git
yum -y install git	#安装git工具

insira a descrição da imagem aqui

git clone https://github.com/Linux-Chiron/zabbix-dingding.git		#克隆zabbix-dingding代码到本地
mv zabbix-dingding/zabbix_dingding.py .		#移动zabbix_dingding.py脚本到当前目录

insira a descrição da imagem aqui

  • Modifique o valor da URL (webhook) do parâmetro "api_url" no script:
    insira a descrição da imagem aqui
# 为脚本赋予执行权限
chmod +x zabbix_dingding.py
# 查看Python版本,使用Python2.x
进入:python
退出:quit()
# 手动调试脚本
python zabbix_dingding.py 123

insira a descrição da imagem aqui

  • Ao ver o script de depuração manual, um erro é relatado; solução: − − nenhuma demonstração de captura de tela\color{red}{ao ver o script de depuração manual, um erro é relatado; solução: -- nenhuma demonstração de captura de tela}Quando vi o script de depuração manual , foi relatado um erro ;Solução : _−Sem captura de tela de demonstração _
yum -y install epel-release	#安装epel扩展源
yum -y install python-pip		#安装python-pip
pip install --upgrade pip		#升级pip
pip install requests			#安装requests包
  • Depure manualmente o script novamente:
    insira a descrição da imagem aqui
Crie um meio de alerta:

insira a descrição da imagem aqui

  • Vincule o meio de alarme ao meio de alarme do usuário admin
    insira a descrição da imagem aqui

  • Visualize a lista de mídia de alarme do usuário Admin, adicionada com sucesso
    insira a descrição da imagem aqui

  • adicionar ação
    insira a descrição da imagem aqui

  • Guia Condições para adicionar condições de acionamento associadas
    insira a descrição da imagem aqui

  • Guia Configurar Ações – enviar apenas DingTalk
    insira a descrição da imagem aqui

  • Veja a lista de ações
    insira a descrição da imagem aqui

  • Valor da expressão de gatilho que altera o número de pacotes de entrada
    insira a descrição da imagem aqui

  • Exibir detecção - evento
    insira a descrição da imagem aqui

  • Verifique se há um alarme no DingTalk – Notificação de Falha/Recuperação

    • Notificação de falha:
      insira a descrição da imagem aqui

    • Aviso de recuperação:
      insira a descrição da imagem aqui

Suplemento: − − Título e informações de conteúdo na aba de ações: \color{red}{Suplemento: -- Título e informações de conteúdo na aba de ações:}Suplemento :−Informações de título e conteúdo na guia de ação : _

  • Conteúdo da notificação de falha:
服务器:{
    
    HOST.NAME}发生: {
    
    TRIGGER.NAME}故障!
{
    
    
告警主机:{
    
    HOST.NAME}
告警地址:{
    
    HOST.IP}
监控项目:{
    
    ITEM.NAME}
监控取值:{
    
    ITEM.LASTVALUE}
告警等级:{
    
    TRIGGER.SEVERITY}
当前状态:{
    
    TRIGGER.STATUS}
告警信息:{
    
    TRIGGER.NAME}
告警时间:{
    
    EVENT.DATE} {
    
    EVENT.TIME}
事件ID:{
    
    EVENT.ID}
}
  • Restaurar o conteúdo da notificação:
服务器:{
    
    HOST.NAME}: {
    
    TRIGGER.NAME}已恢复!
{
    
    
告警主机:{
    
    HOST.NAME}
告警地址:{
    
    HOST.IP}
监控项目:{
    
    ITEM.NAME}
监控取值:{
    
    ITEM.LASTVALUE}
告警等级:{
    
    TRIGGER.SEVERITY}
当前状态:{
    
    TRIGGER.STATUS}
告警信息:{
    
    TRIGGER.NAME}
告警时间:{
    
    EVENT.DATE} {
    
    EVENT.TIME}
恢复时间:{
    
    EVENT.RECOVERY.DATE} {
    
    EVENT.RECOVERY.TIME}
持续时间:{
    
    EVENT.AGE}
事件ID:{
    
    EVENT.ID}
}

Acho que você gosta

Origin blog.csdn.net/wkl1007/article/details/108325357
Recomendado
Clasificación