Contents
基本环境
环境
系统 | 角色 | 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源
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需要主机名来通信,所以所有机器的hostname和zabbix的设置必须一致
hostnamectl set-hostname zabbix-server
用户名Admin 密码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、手动创建主机
添加监控
点击主机名,点击模板,选择模板
点击添加,输入ip地址,再点更新
Received empty response from Zabbix Agent at [192.168.126.22]. Assuming that agent dropped connection because of access permissions.
修改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
2、自动发现添加主机
首先要添加发现
检查类型和键值如上为
Zabbix 客户端 “system.uname“
配置文件的主机名称最好和DNS名称一样,做DNS检查让DNS名和agent配置文件中hostname一致,不然主机不会启用
创建发现动作
添加发现动作的名称和实际动作,我们实现了添加主机和关联模板
以上是没有配置DNS
vim /etc/hosts
192.168.126.22 zagent0
配置主机名解析后自动添加主机名和agent配置中的主机名一致
3、自动注册
首先agent配置文件中的ServerActive要和zabbix server的ip一致
ServerActive=192.168.126.51
HostMetadataItem=system.uname #主机的元数据键值,类似于自动发现中的system.uname判断存活和获取主机
然后创建自动注册动作
需要手动重启zagent0的服务
systemctl restart zabbix-agent.service
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端配置
禁止自动注册动作,删除主机
打开自动注册,可以看到主机自动添加了
如果还点不亮,就先重启服务器,再重启代理,最后重启客户端
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
自定义监控内容
首先在客户端设置命令,命令格式为
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
创建模板
添加监控项
主机添加模板
点击主机监控可以看到多了一个监控
从主机图形,可以看到状态了,此时一直是三
关闭nginx可以看到值变成了
解决中文乱码问题
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
刷新即可
添加触发项
停止nginx
重启nginx,发现问题解决
报警,信息提示
添加邮箱报警媒介类型,密码需要去qq邮箱设置中获取
给用户添加报警媒介
要添加报警媒介类型
启用动作
邮件测试不成功,说媒体类型错误,禁止登录等错误,可能是QQ邮箱被用多了,换了163可以
自动重启客户端服务
在客户端配置远程执行命令的权限
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[*]
添加触发动作
添加操作
选择之前添加的脚本
停掉nginx,然后自动重启了,问题解决
改被动模式为主动模式
被动模式就是客户机等待服务端发送数据请求,然后返回数据,对服务器压力较大,改为主动后客户端主动直接发送数据,减轻压力
点击模板,点击监控项,选中要修改为主动的监控项目,点批量更新
用模板的必须从模板中修改
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,输入后再次设置密码
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数据源
http://master.zabbix.com/api_jsonrpc.php
http://域名/api_jsonrpc.php
导入模板
https://grafana.com/grafana/dashboards
从官网复制下载或者直接输入模板id进行导入
模板ID 5363,下图的5363不可用,导入的模板要和zabbix的版本匹配,可以忽略
手动修改监控项
新建仪表盘-》添加可视化
参考
Zabbix监控系统:基础配置及部署代理服务器 https://blog.csdn.net/m0_71815887/article/details/137857015