早该总结一次了,之前都是自己编译,现在用yum直接装,还快。

// 2018.12可以先用官网的docker镜像预览下功能
安装好docker后,直接从docker hub的镜像启动一个容器

1
2
3
4
docker run --name zabbix-appliance -t \
-p 10051:10051 \
-p 80:80 \
-d zabbix/zabbix-appliance:latest

使用docker ps查看正在运行的容器

1
2
3
[root@CentOS7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a024336b08db zabbix/zabbix-appliance:latest "docker-entrypoint.sh" 7 days ago Up 3 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:10051->10051/tcp, 443/tcp zabbix-appliance

下次启动的话,确保docker services是运行的,通过docker ps -a查看stop的容器。然后docker start hash/name启动原来容器。

下面是原文:

Zabbix 3.4 支持Centos 7。貌似不支持6.9.

更多详细内容请参考官方说明文档,详细的安装要求不贴出来了。

https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirements

虚拟机配置 双核 8G内存

01、最小化安装操作系统

02、升级系统组件到最新版本

sudo yum -y update

03、关闭 SELinux

sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

04、关闭防火墙

sudo systemctl stop firewalld.service && systemctl disable firewalld.service
完成3、4两步,重启一下。

05、获取SQL源

sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

可以从https://dev.mysql.com/downloads/file/?id=470281 下载

06、安装 Zabbix 所需软件支持包

先装mysql

sudo yum install mysql-* --skip-broken 有冲突的软件跳过

安装Apache

sudo yum -y install httpd

1
2
3
4
5
6
7
8
9
10
11
12
#安装
sudo yum -y install httpd
#启动
systemctl start httpd.service
#停止
systemctl stop httpd.service
#重启
systemctl restart httpd.service
#开机启动
systemctl enable httpd.service
#开机不启动
systemctl disable httpd.service

安装php

sudo yum install php

安装php扩展

1
2
3
sudo yum install php-mysqlnd php-gd libjpeg* php-snmp php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash php-common php-ctype php-xml php-xmlreader php-xmlwriter php-session php-mbstring php-gettext php-ldap php-mysqli --skip-broken

sudo yum install wget telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC

07、设置 MySQL 参数(8GB 内存为例)

如果你不清楚这些参数的含义,请不要修改,保持默认即可。直接跳过这一节
sudo vim /etc/my.cnf 不然没权限保存
在文件最后添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
innodb_file_per_table = 1
innodb_status_file = 1
innodb_buffer_pool_size = 6G
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 64M
innodb_support_xa = 0
default-storage-engine = innodb
bulk_insert_buffer_size = 8M
join_buffer_size = 16M
max_heap_table_size = 32M
tmp_table_size = 32M
max_tmp_tables = 48
read_buffer_size = 32M
read_rnd_buffer_size = 16M
key_buffer_size = 32M
thread_cache_size = 32
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_rollback_on_timeout = 1
query_cache_size = 16M
query_cache_limit = 16M
collation_server = utf8_bin
character_set_server = utf8

注:原则上 innodb_buffer_pool_size 需要设置为主机内存的 80%,如果主机内存不是 8GB,以上参数可依据相应比例进行调整,例如主机内存为 16GB,则 innodb_buffer_pool_size 建议设置为 12GB,innodb_log_buffer_size 建议设置为 32M,innodb_log_file_size 建议设置为 128M,以此类推。请注意innodb_buffer_pool_size的值必须是整数,例如主机内存是4G,那么innodb_buffer_pool_size可以设置为3G,而不能设置为3.2G

08、启动 MySQL

sudo systemctl enable mysqld && systemctl start mysqld

09、获取 MySQL 的 root 初始密码

grep 'temporary password' /var/log/mysqld.log


JtZizq!Rl6E+

10、进行 MySQL 安全配置

配置开始时会用到第 09获取的初始密码,建议修改为自定义密码,其它选项选择 y 即可

mysql_secure_installation


密码改为:Aa123456,.

11、重启 MySQL

sudo systemctl restart mysqld

12、配置 MySQL 中 zabbix要的库和账号权限

1
2
3
4
5
6
7
8
9
10
11
12
13
mysql -u root -p
#需要输入第 10步中设置的自定义密码

#创建数据库
mysql>create database zabbix character set utf8;
#创建用户和密码
mysql>create user zabbix@'%' identified by 'Qingdao@2017';
#赋权
mysql>grant all privileges on zabbix.* to zabbix@'%';
#刷新权限
mysql>flush privileges;

mysql>exit;

13、安装 Zabbix源

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.4最新版看这里:
http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/

14、安装zabbix

sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway zabbix-web

15、导入 zabbix 所需信息

cd /usr/share/doc/zabbix-server-mysql-3.4.7(注意版本号)
zcat create.sql.gz | mysql -uroot zabbix -p(需要输入第 10 步中设置的自定义密码)

16、配置 zabbix 参数

sudo vim /etc/zabbix/zabbix_server.conf 这个配置要一遍过
主要是以下几个选项参数需要设置(8GB 内存为例):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DBPassword=xxxxx
#配置为第 12 步第 3 行中设置的自定义密码

CacheSize=512M
#(CacheSize在371行)

HistoryCacheSize=128M
#(HistoryCacheSize在397行)

HistoryIndexCacheSize=128M
#(HistoryIndexCacheSize在405行)

TrendCacheSize=128M
#(TrendCacheSize在414行)

ValueCacheSize=256M
#(ValueCacheSize在425行)

Timeout=30
#(Timeout在432)
其它参数保持默认值即可

17、配置 Apache 中的 PHP 参数(8GB 内存为例)

sudo vim /etc/httpd/conf.d/zabbix.conf

1
2
3
4
5
6
7
php_value max_execution_time 600
php_value memory_limit 256M
php_value post_max_size 32M
php_value upload_max_filesize 32M
php_value max_input_time 600
php_value always_populate_raw_post_data -1
date.timezone 去掉注释符号#,并将值修改为 `Asia/Shanghai`

18、重启系统

systemctl stop mysqld && reboot

19、启动zabbix

sudo systemctl start httpd && systemctl start zabbix-server

20、初始化

在浏览器中输入 http://zbx监控服务器的IP地址/zabbix,进行 zabbix 的页面初始化配置

这里如果密码输错,是跳转不到下一步的。密码是前面设置的 Qingdao@2017

默认用户名 admin,默认密码 zabbix,确认可正常登录系统。

21、设置中文界面

登录进入系统后,确认 Zabbix server is running 的值是 Yes。
然后选择 Administrator –> Users –> Admin

回到”监测中” –> “仪表板”,就可以看到监控系统已设置为中文界面了。

22、修复图片中文乱码

首先copy本机的中文字体,仿宋、楷体、雅黑均可

将字体名称修改为graphfont.ttf
备份zabbix原字体,在*/usr/share/zabbix/fonts/*目录

并将自己修改好的字体上传到该目录,修复权限
chmod 777 graphfont.ttf

23、zabbix-agent安装及配置

1、安装zabbix-agent

yum install zabbix-agent -y

2、配置zabbix-agent

1
2
3
4
5
6
7
8
#grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
97:Server=172.16.8.254
138:ServerActive=172.16.8.254
149:Hostname=Zabbix server
267:Include=/etc/zabbix/zabbix_agentd.d/\*.conf

3、启动zabbix-agent并设置开机启动

systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service