[toc]

Zabbix监控快速安装

配置zabbix官方仓库(zabbix)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 下载zabbix5.0官方源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

# 开启前端代码仓库
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

# 安装zabbix 服务端,客户端,前端
yum install -y zabbix-server-mysql zabbixagent -y

# 安装zabbix依赖的php和nginx的源
yum install -y centos-release-scl

# 安装zabbix前端包
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y

# 拷贝SQl文件到数据库服务器上
scp /usr/share/doc/zabbix-server-mysql*/create.sql.gz 172.....53:/opt/

配置zabbix数据库(db01)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 安装数据库
yum install -y mariadb-server

# 启动服务并加入开机自启
systemctl start mariadb && systemctl enable mariadb

# 设置数据库的管理用户root和密码
mysqladmin -uroot password '123'

# 连接数据库
mysql -uroot -p123

# 创建zabbix库
create database zabbix character set utf8 collate utf8_bin;

# 创建zabbix用户并授权
grant all on zabbix.* to zabbix@'172.16.1.%' identified by '123';

# 开启自定义函数的信任(取决于开没开binlog)
mysql> set global log_bin_trust_function_creators = 1;

# 永久开启自定义函数的信任
vim /etc/my.cnf
[mysqld]
log_bin_trust_function_creators=1

# 开启反向解析
vim /etc/my.cnf
[mysqld]
skip_name_resolve

# 重启数据库
systemctl restart mariadb

# 主库导入数据库
zcat /opt/create.sql.gz | mysql -uzabbix -p123 -h172.16.1.51 zabbix

修改zabbix配置文件(zabbix)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 修改zabbix 服务端配置文件
vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=123
# DBSocket= 如果本机启动,要指定socket文件位置
DBHost=172.16.1.53

# 修改nginx配置文件
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name ding.zabbix.com;
root /usr/share/zabbix;
index index.php;
}

# 修改PHP配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = nginx
group = nginx

listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 200

php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/

php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai

# 4.修改session存放目录权限
chown nginx:nginx -R /var/opt/rh/rh-php72/lib/php/session/

# 5.修改zabbix连接数据库的配置文件存放目录权限
chown -R nginx.nginx /etc/zabbix/web/

# 6.启动服务
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

# netstat -lntup
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
3587/php-fpm: maste
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
3632/nginx: master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
3593/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN
3612/zabbix_server
tcp6 0 0 :::10050 :::* LISTEN
3593/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN
3612/zabbix_server

# 7.开机自启
systemctl enable zabbix-server zabbixagent rh-nginx116-ngrh-php72-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbixserver.
service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbixagent.
service to /usr/lib/systemd/system/zabbix-agent.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-nginx116-
nginx.service to /usr/lib/systemd/system/rh-nginx116-nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-phpfpm.
service to /usr/lib/systemd/system/rh-php72-php-fpm.service.

# 8.host解析
10.0.0.71 zabbix.xxx.com

# 访问浏览器
zabbix.xxx.com

步骤流程指示图

image-20230320111539007

image-20230320111548155

image-20230320111553342

image-20230320111616086

image-20230320111621625

image-20230320111635666

image-20230320111642003

Zabbix汉化

步骤步骤流程指示图

image-20230321093726761

image-20230321093730052

解决图形汉字无法显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 进入zabbix字体路径
cd /usr/share/zabbix/assets/fonts/

# 默认字体
/etc/alternatives/zabbix-web-font

# 上传电脑字体
rz 楷体_常规
windows的字体(C:\Windows\Fonts)

# 改名原本字体名字
mv graphfont.ttf graphfont.ttf.bak

# 改名电脑字体
mv SIMKAI.TTF graphfont.ttf

image-20230321094037193

image-20230321093939168

监控主机

Zabbix客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看服务端的版本
zabbix_server -V
zabbix_server (Zabbix) 5.0.32

# 安装对应版本的agent客户端
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.32-1.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.e71d2e2fm8xxGa

# 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=服务端IP
ServerActive=服务端IP
Hostname=本机主机名

# 启动服务
systemctl start zabbix-agent

# 端口检查
netstat -lntup |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
22546/zabbix_agentd
tcp6 0 0 :::10050

步骤步骤流程指示图

image-20230321095316893

image-20230321095332169

image-20230321095336173

image-20230321095428006

image-20230321095430954

Zabbix错误排查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 检查端口
telnet 10.0.0.51 10050

# 检查服务是否能获取到客户端的监控数据
zabbix_get
-s 指定主机IP地址
-k 指定监控项名称

# 安装zabbix检查软件
yum install -y zabbix-get.x86_64

# 服务端是否能够获取到客户端的监控数据
zabbix_get -s 172.16.1.51 -k system.swap.size[,pfree]
zabbix_get -s 172.16.1.51 -k system.swap.size[,free]

# 查看nginx日志
tail -f /var/opt/rh/rh-nginx116/log/nginx/access.log
tail -f /var/opt/rh/rh-nginx116/log/nginx/error.log

# 查看zabbix-server的日志
tail -f /var/log/zabbix/zabbix_server.log

# 查看zabbix-agent的日志
tail -f /var/log/zabbix/zabbix_agentd.log