DÍA 76 plataforma de monitorización distribuida: zabbix

Software de monitoreo común en el mercado:

  • Operación y mantenimiento tradicional: zabbix, Nagios
  • Entorno nativo de la nube: Prometheus (desarrollado en lenguaje go)

descripción general de zabbix

Como operación y mantenimiento, debe usar el sistema de monitoreo para verificar el estado del servidor y los indicadores de tráfico del sitio web, y usar los datos del sistema de monitoreo para comprender los resultados del lanzamiento en línea y el estado de salud del sitio web.

Con un excelente software de monitoreo, podemos:

  • Explore todos los estados del servidor de todo el sitio web a través de una interfaz amigable
  • Los datos de monitoreo se pueden ver fácilmente en la parte frontal de la web
  • Puede mirar hacia atrás para encontrar problemas del sistema y alarmas cuando ocurre un accidente

¿Qué es Zabbix?

  • Zabbix es una solución de código abierto de nivel empresarial que proporciona funciones de monitoreo de redes y monitoreo de sistemas distribuidos basadas en una interfaz web.
  • Zabbix puede monitorear varios parámetros de la red para garantizar la operación segura del sistema del servidor y proporcionar un mecanismo de notificación flexible para permitir que los administradores del sistema localicen y resuelvan varios problemas rápidamente.
  • zabbix consta de 2 partes, servidor zabbix y componente opcional agente zabbix. Recopile datos a través del modo c/s y visualícelos y configúrelos en el lado web a través del modo B/s.
  • El servidor zabbix puede proporcionar monitoreo remoto del estado del servidor/red, recopilación de datos y otras funciones a través de SNMP (Protocolo simple de administración de red), agente zabbix, ping, monitoreo de puertos y otros métodos, y puede ejecutarse en plataformas como Linux. (Soporta múltiples plataformas, Windows también es compatible)
  • El agente zabbix debe instalarse en el servidor de destino monitoreado, que principalmente completa la recopilación de información de hardware o memoria, CPU y otra información relacionada con el sistema operativo

Principio de monitoreo de Zabbix

El agente zabbix está instalado en el host monitoreado. El agente zabbix es responsable de recopilar los datos locales del cliente regularmente y enviarlos al servidor zabbix. Después de recibir los datos, el servidor zabbix almacena los datos en la base de datos. Los usuarios pueden ver basado en zabbix WEB Data presenta imágenes en el front-end.

Cuando zabbix monitorea un proyecto específico, el proyecto establecerá un umbral de activación. Cuando el indicador monitoreado supere el umbral establecido por el activador, se tomarán algunas acciones necesarias, que incluyen: envío de información (correo electrónico, WeChat, SMS), envío de comandos ( comandos de shell, reiniciar, reiniciar, instalar, etc.).

Basado en zabbix-web, los usuarios pueden ver las imágenes de datos que se muestran en la interfaz WEBUI y realizar la gestión de configuración relacionada.Los usuarios también pueden configurar disparadores para monitorear elementos en la interfaz WEBUI, como los indicadores de datos monitoreados que superan el umbral establecido por el disparador ., enviará información de notificación o algunas instrucciones de operación de emergencia

Cinco programas comunes en zabbix

El monitoreo de Zabbix se implementa en el sistema, incluidos cinco programas comunes: servidor zabbix, agente zabbix, proxy zabbix, zabbix get, zabbix sender, etc.

(1) servidor zabbix: proceso del demonio del servidor zabbix, en el que los datos de zabbix_agent, zabbix_get, zabbix_sender y zabbix_proxy finalmente se envían al servidor zabbix;

(2) agente zabbix: proceso del demonio del cliente, responsable de recopilar datos del cliente, por ejemplo: recopilar la carga de la CPU, la memoria, el uso del disco duro, etc.;

(3) zabbi xproxy: el proceso de daemon de proxy distribuido de zabbix, generalmente más de 500 hosts, requiere la implementación de una arquitectura de monitoreo distribuida;

(4) zabbix get: herramienta de recepción de datos zabbix, un comando que se usa solo, generalmente ejecutado en el lado del servidor o del proxy para obtener el comando de información del cliente remoto;

(5) remitente zabbix: herramienta de envío de datos zabbix, el usuario envía datos al servidor o extremo proxy, por lo general, el usuario tarda mucho tiempo en verificar

número de puerto zabbix

  • El servidor zabbix zabbix_server usa el puerto 10051 por defecto.
  • El cliente zabbix_agent2 usa el puerto 10050 por defecto

instalar zabbix 5.0

Se recomienda utilizar la versión 5.0/versión 4.6/versión 4.8 en lugar de la versión 6.0.

  • zabbix-server memory al menos 2G, se recomienda 4G;
#关闭防火墙
systemctl disable --now firewalld
setenforce 0

 Obtenga la fuente de descarga de zabbix

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

 cambiar nombre de host

hostnamectl set-hostname zbx-server

Reemplace zabbix.repo con fuente Ali

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
yum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent

 

 

Instalar SCL (colecciones de software)

  • Es conveniente instalar una versión superior de php más tarde, la versión de php por defecto instalada por yum es 5.4, que es demasiado baja, la versión 5.0 de zabbix requiere una versión mínima de php 7.2.0. SCL permite que se utilicen múltiples versiones de software en la misma máquina sin afectar las dependencias de todo el sistema. Los paquetes se instalarán en el directorio /etc/opt/rh
     
yum install -y centos-release-scl 

 Modifique la fuente de front-end de zabbix-front, instale el entorno de front-end de zabbix en el entorno de scl

vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1          #开启安装源
......
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装mysql及apache相关工具

 Instale la base de datos requerida por zabbix

yum install -y mariadb-server mariadb
systemctl start mariadb.service
systemctl enable mariadb.service
mysql_secure_installation         #初始化数据库,并设置密码

 

 

Agregue usuarios de base de datos e información de base de datos requerida por zabbix

mysql -u root -pabc123
 
CREATE DATABASE zabbix character set utf8 collate utf8_bin;  #创建数据库并且设置字符集为utf8
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix'; #允许用户zabbix对zabbix中所有表进行操作且用户密码为zabbix
flush privileges;    #刷新权限

 Importar información de la base de datos

rpm -ql zabbix-server-mysql 		#查询 sql 文件的位置
 
zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix
#zcat命令可以直接查看数据包里的文件内容

 

 

 Modifique el archivo de configuración del servidor zabbix y modifique la contraseña de la base de datos

vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix					#124行,指定 zabbix 数据库的密码

Modificar el archivo de configuración php de zabbix

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai		#25行,取消注释,修改时区

Iniciar servicios relacionados con zabbix

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

 

 

点击下一步,设置数据库的密码 zabbix
安装完成后,默认的登录账号和密码为:Admin/zabbix
设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。

 

 

 

 

 Resuelva el problema chino confuso de la página web del servidor zabbix

yum install -y wqy-microhei-fonts
 
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

En este momento, mire hacia atrás y vea que el código distorsionado se ha resuelto

 Implementar cliente zabbix

  • La versión zabbix 5.0 utiliza una nueva versión del cliente agent2 desarrollado en el lenguaje golang.
    El servidor zabbix zabbix_server usa el puerto 10051 de manera predeterminada y el cliente zabbix_agent2 usa el puerto 10050 de manera predeterminada.
#关闭防火墙并修改主机名
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01

 Tanto el servidor como el cliente configuran la sincronización de tiempo

yum install -y ntpdate
ntpdate -u ntp.aliyun.com

El cliente configura la zona horaria para que sea consistente con el servidor

mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
date

 Configure la fuente de descarga de zabbix e instale zabbix-agent2

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
 
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
 
yum install -y zabbix-agent2

 Modificar el archivo de configuración de agent2

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.137.10			#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.137.10	#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			#131行,指定当前 zabbix 客户端的主机名

 

 

 Iniciar zabbix-agent2

systemctl start zabbix-agent2
systemctl enable zabbix-agent2
 
netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      63784/zabbix_agent2

 Verifique la conectividad de zabbix-agent2 en el lado del servidor

yum install -y zabbix-get				#安装 zabbix 主动获取数据的命令
 
zabbix_get -s '192.168.137.15' -p 10050 -k 'agent.ping'
1
 
zabbix_get -s '192.168.137.15' -p 10050 -k 'system.hostname'
zbx-agent01

 

 

Agregar el host del agente a la página web

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01-192.168.137.15
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.137.15
 
再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【更新】

 

 

 Personalice el contenido de monitoreo

Caso: Requisitos del número de inicio de sesión del servidor del cliente de monitoreo personalizado : limite el número de inicios de sesión a no más de 3 y envíe un mensaje de alarma si hay más de 3

Crear una clave personalizada en el cliente

Especifique los comandos de Linux que deben ejecutarse

who | wc -l   #统计登录人数

Cree el archivo de configuración del elemento de monitoreo zabbix para la clave personalizada

vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中269行
Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
292行 
#Format: UserParameter=<key>,<shell command>
cd /etc/zabbix/zabbix_agent2.d/
vim UserParameter_login.conf   #创建配置文件
UserParameter=login.user,who|wc -l
 
systemctl restart zabbix-agent2

Verifique el elemento de monitoreo recién creado en el lado del servidor

zabbix_get -s '192.168.137.15' -p 10050 -k 'login.user'
#可以看到获得键的值了

Cree plantillas de elementos de monitoreo personalizadas en páginas web

crear plantilla

点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Templates
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Templates Login User 了

Crear un conjunto de aplicaciones (para administrar elementos de monitoreo)

点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】

Crear elementos de seguimiento

 

点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user			#键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period	30d		#保留时间可自定义设置
点击 【添加】

Cree un disparador (cuando el elemento monitoreado obtenga el valor monitoreado, compárelo con el valor preestablecido del disparador para determinar si se activa la alarma)

点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】

crear gráficos

点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

Asociar hosts con plantillas (un host se puede asociar con varias plantillas

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
 
此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

Inicie sesión en ambos terminales en este punto

vista del servidor

Establecer alarma de correo electrónico (siempre que su buzón de correo tenga que abrir smtp)

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 [email protected]
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 [email protected]
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击 【添加】,并测试功能
 
点击左边菜单栏【User settings】-->【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成 [email protected]
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】
 
点击左边菜单栏【配置】中的【动作】
选择相对应的动作名称点击进入,点击 【添加】
【类型】选择 触发器,【触发器】点击选择 Nunber of login users is greater than 3
点击【启用】

Resumir

1确定获取监控指标数值的命令或者脚本路径
 
2在客户端的zabbix-agent2的配置目录中创建*.conf文件在文件里定义监控的键名UserParameter=<key>,<shell command>
 
3在zabbix web界面中自定义监控模板,创建模板->应用集->监控项->触发器->图形
 
4将主机与监控模板关联起来
 
5设置邮件报警创建报警媒介->添加报警媒介一>在动作当中去添加触发器

Supongo que te gusta

Origin blog.csdn.net/weixin_57560240/article/details/131040997
Recomendado
Clasificación