zabbix安装部署详解

Zabbix官网安装教程
Zabbix官方文档

基本环境

环境

系统 角色 ip
centos8 server、agent 192.168.168.51
centos7 server proxy、agent2 192.168.168.21
centos7 agent 192.168.168.22
  • zabbix-6.0要求mysql版本不低于8
  • agent有两种,稍微有点区别,两者都配置一下

zabbix server安装

《zabbix安装部署详解》
安装zabbix源

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
 dnf clean all
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

yum install -y mysql-server
systemctl enable --now mysqld

mysql

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
set global log_bin_trust_function_creators = 1;
quit;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p123456 zabbix

mysql

set global log_bin_trust_function_creators = 0;
quit;

vim /etc/zabbix/zabbix_server.conf

DBPassword=123456

需要修改端口和域名,zabbix没有在nginx默认主机的位置下

listen          80;
server_name     my.zabbix.com;
[root@localhost ~]# vim  /etc/nginx/conf.d/zabbix.conf
[root@localhost ~]# nginx -s reload

host自定义域名
192.168.126.51 my.zabbix.com

开启zabbix服务

systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

《zabbix安装部署详解》
《zabbix安装部署详解》
《zabbix安装部署详解》

zabbix需要主机名来通信,所以所有机器的hostname和zabbix的设置必须一致

hostnamectl set-hostname zabbix-server

《zabbix安装部署详解》

《zabbix安装部署详解》
《zabbix安装部署详解》

用户名Admin 密码zabbix
《zabbix安装部署详解》

zabbix agent配置

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all
yum install -y zabbix-agent
systemctl restart zabbix-agent
systemctl enable zabbix-agent
hostnamectl set-hostname zagent0

添加主机有四种方式:1.自动注册  2.自动发现  3.api  4.手动

1、手动创建主机

《zabbix安装部署详解》
《zabbix安装部署详解》

添加监控

点击主机名,点击模板,选择模板
《zabbix安装部署详解》
点击添加,输入ip地址,再点更新
《zabbix安装部署详解》

《zabbix安装部署详解》

Received empty response from Zabbix Agent at [192.168.126.22]. Assuming that agent dropped connection because of access permissions.
《zabbix安装部署详解》

修改zabbix agent的配置文件,重启

[root@zagent0 ~]# cat  /etc/zabbix_agentd.conf | grep -Ev "^(#|$)"
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=192.168.126.51 添加服务器ip
Hostname=zagent0 修改hostname和server端的一致,该配置和主机实际hostname没什么关系
systemctl restart zabbix-agent

《zabbix安装部署详解》

2、自动发现添加主机

首先要添加发现
《zabbix安装部署详解》
《zabbix安装部署详解》

检查类型和键值如上为
Zabbix 客户端 “system.uname
《zabbix安装部署详解》
配置文件的主机名称最好和DNS名称一样,做DNS检查让DNS名和agent配置文件中hostname一致,不然主机不会启用

创建发现动作
《zabbix安装部署详解》
《zabbix安装部署详解》
添加发现动作的名称和实际动作,我们实现了添加主机和关联模板

《zabbix安装部署详解》
《zabbix安装部署详解》

以上是没有配置DNS
vim /etc/hosts

192.168.126.22 zagent0

配置主机名解析后自动添加主机名和agent配置中的主机名一致
《zabbix安装部署详解》

3、自动注册

首先agent配置文件中的ServerActive要和zabbix server的ip一致

ServerActive=192.168.126.51
HostMetadataItem=system.uname  #主机的元数据键值,类似于自动发现中的system.uname判断存活和获取主机

然后创建自动注册动作
《zabbix安装部署详解》
《zabbix安装部署详解》
《zabbix安装部署详解》

需要手动重启zagent0的服务

 systemctl restart zabbix-agent.service

《zabbix安装部署详解》

zabbix proxy配置

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
 yum clean all
yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

默认centos7安装的是mariabd

yum remove mariadb
rm /var/lib/mysql/ -fr
rpm -e --nodeps mysql57-community-release
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
yum --enablerepo=mysql80-community install mysql-community-server
systemctl start mysqld.service
systemctl status mysqld.service

查看mysql密码

cat /var/log/mysqld.log | grep root@localhost
TOc?Jckgz8sH
validate_password.length = 6
validate_password.policy = 0
mysql -uroot -p'TOc?Jckgz8sH'

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
quit;
mysql -uroot -p123456

create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix_proxy.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p123456 zabbix_proxy

mysql -uroot -p123456
set global log_bin_trust_function_creators = 0;
 quit;

vim /etc/zabbix/zabbix_proxy.conf

Hostname=Zabbix-proxy
Server=192.168.126.51
DBPassword=123456
mysql -uroot -p123456
alter user 'zabbix'@'localhost' identified with mysql_native_password by '123456'; 
flush privileges;
quit;
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy

Agent客户端的配置修改

Server=192.168.126.21
ServerActive=192.168.126.21
systemctl restart zabbix-agent.service

server端配置

禁止自动注册动作,删除主机
《zabbix安装部署详解》
《zabbix安装部署详解》

打开自动注册,可以看到主机自动添加了

《zabbix安装部署详解》

如果还点不亮,就先重启服务器,再重启代理,最后重启客户端

Agent2安装配置

安装在代理服务器192.168.126.21

yum install zabbix-agent2 zabbix-agent2-plugin-*

vim /etc/zabbix/zabbix_agent2.conf

Hostname=zagent2
Server=192.168.126.51
ServerActive=192.168.126.51

因为他自己是代理,给自己报告即可,填写server端也可以

systemctl restart zabbix-agent2
systemctl enable zabbix-agent2

《zabbix安装部署详解》

自定义监控内容

首先在客户端设置命令,命令格式为
UserParameter= 键,命令

zabbix_agent2.d下的配置被包含在zabbix_agent2.conf中
vim /etc/zabbix/zabbix_agent2.conf

Include=/etc/zabbix/zabbix_agent2.d/*.conf

vim /etc/zabbix/zabbix_agent2.d/nginx_t.conf

UserParameter= nginx.status, pgrep nginx |wc -l

通过以上命令统计nginx进程个数

服务器端安装zabbix-get

yum install -y  zabbix-get

zabbix_get -s 192.168.126.21 -k nginx.status
3

创建模板
《zabbix安装部署详解》
添加监控项
《zabbix安装部署详解》
《zabbix安装部署详解》

主机添加模板
《zabbix安装部署详解》

点击主机监控可以看到多了一个监控
《zabbix安装部署详解》
从主机图形,可以看到状态了,此时一直是三
《zabbix安装部署详解》

关闭nginx可以看到值变成了
《zabbix安装部署详解》

解决中文乱码问题
《zabbix安装部署详解》

yum install -y wqy-microhei-fonts

cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

cp:是否覆盖'/usr/share/zabbix/assets/fonts/graphfont.ttf'? y

刷新即可
《zabbix安装部署详解》

添加触发项
《zabbix安装部署详解》

《zabbix安装部署详解》

停止nginx
《zabbix安装部署详解》

重启nginx,发现问题解决
《zabbix安装部署详解》

报警,信息提示

添加邮箱报警媒介类型,密码需要去qq邮箱设置中获取
《zabbix安装部署详解》
给用户添加报警媒介
《zabbix安装部署详解》
《zabbix安装部署详解》

要添加报警媒介类型

《zabbix安装部署详解》

启用动作
《zabbix安装部署详解》

邮件测试不成功,说媒体类型错误,禁止登录等错误,可能是QQ邮箱被用多了,换了163可以
《zabbix安装部署详解》
《zabbix安装部署详解》

《zabbix安装部署详解》

自动重启客户端服务

在客户端配置远程执行命令的权限
chmod 640 /etc/sudoers
vim /etc/sudoers

zabbix ALL=(ALL) NOPASSWD:/usr/bin/systemctl restart nginx

在代理服务的配置中修改为1,运行远程命令
vim /etc/zabbix/zabbix_proxy.conf

EnableRemoteCommands=1

在客户端Agent服务器添加配置
vim /etc/zabbix/zabbix_agent2.conf

AllowKey=system.run[*]

《zabbix安装部署详解》

添加触发动作
《zabbix安装部署详解》

添加操作
《zabbix安装部署详解》

选择之前添加的脚本
《zabbix安装部署详解》

停掉nginx,然后自动重启了,问题解决
《zabbix安装部署详解》
《zabbix安装部署详解》

改被动模式为主动模式

被动模式就是客户机等待服务端发送数据请求,然后返回数据,对服务器压力较大,改为主动后客户端主动直接发送数据,减轻压力

点击模板,点击监控项,选中要修改为主动的监控项目,点批量更新

用模板的必须从模板中修改
《zabbix安装部署详解》

《zabbix安装部署详解》

《zabbix安装部署详解》
《zabbix安装部署详解》

agent端修改配置文件etc/zabbix/zabbix_agent2.conf

#Server=服务器端IP #注释该行,这是被动模式的配置
ServerActive=ServerIP(服务端IP)

grafana

yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.3-1.x86_64.rpm

速断慢的话下载下来再安装
yum install -y grafana-enterprise-10.0.3-1.x86_64.rpm

#启动并设置开机自启
systemctl enable --now grafana-server

### Grafana配置
默认配置文件位置,不建议修改
/usr/share/grafana/conf/defaults.ini

自定义配置文件位置
/etc/grafana/grafana.ini

#表示注释
;表示注释选项

数据:var/lib/grafana/
日志:var/log/grafana//

默认端口是3000
用户名密码都是admin,输入后再次设置密码

《zabbix安装部署详解》

《zabbix安装部署详解》

Grafana配置中文

配置中文界面,编辑配置文件,添加默认语言为中文

vim /etc/grafana/grafana.ini

;default_language = en-US
# 设置默认语言为中文
default_language = zh-Hans

安装zabbix插件,命令行运行

grafana-cli plugins install alexanderzobnin-zabbix-app

systemctl restart grafana-server.service

《zabbix安装部署详解》

《zabbix安装部署详解》

启用插件

《zabbix安装部署详解》

添加zabbix数据源

《zabbix安装部署详解》

http://master.zabbix.com/api_jsonrpc.php
http://域名/api_jsonrpc.php

《zabbix安装部署详解》

《zabbix安装部署详解》

导入模板

《zabbix安装部署详解》

https://grafana.com/grafana/dashboards

从官网复制下载或者直接输入模板id进行导入

模板ID 5363,下图的5363不可用,导入的模板要和zabbix的版本匹配,可以忽略

《zabbix安装部署详解》

《zabbix安装部署详解》

手动修改监控项

新建仪表盘-》添加可视化

《zabbix安装部署详解》

《zabbix安装部署详解》

《zabbix安装部署详解》

《zabbix安装部署详解》

参考

Zabbix监控系统:基础配置及部署代理服务器 https://blog.csdn.net/m0_71815887/article/details/137857015

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注