Zabbix 监控教程

本教程基于Zabbix4.0 LTS版本进行部署使用 (LTS:长期支持版本)

1. Zabbix-server 服务端安装全流程

# 1.下载zabbix的yum仓库源
$ cd /etc/yum.repos.d/
$ rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

# 修改repos文件,改为清华源
sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo

# 2.安装zabbix-server服务端以及数据库
# zabbix-server-mysql 以mysql作为存储开发的zabbix-server服务端程序
# zabbix-web-mysql php核心程序,zabbix-UI页面
# zabbix-agent 自己也监控自己
# mariadb-server 安装mysql服务端程序
$ yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server


# 3.设置mariadb数据库 创建zabbix库 存储监控数据 且创建账号,用于登陆zabbix
$ systemctl start mariadb && systemctl enable mariadb   # 启动mariadb并加入开机自启动
$ mysqladmin password linux.999 # 设置mysql密码,用户默认是root
# 创建zabbix数据库,设置字符集为utf8 且忽略大小写
$ mysql -u root -plinux.999 -e 'create database zabbix character set utf8 collate utf8_bin'
# 创建zabbix用户,密码是linux.999
# 给与zabbix用户之下的库,所有表最大的权限
$ mysql -uroot -plinux.999 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'linux.999'"


--------------------------------------
小技巧:查找命令来自于那个包,便于命令的安装
$  yum provides zcat
$  yum install -y gzip
-------------------------------------


# 4.导入zabbix服务端的数据库内容
# 用zcat直接读取压缩包里的数据然后用管道符给mysql去执行,导入到zabbix库里
# 注意这里的zabbix-server-mysql-4.0.50 版本号,每个人的可能自动安装的不一样。
$ zcat /usr/share/doc/zabbix-server-mysql-4.0.50/create.sql.gz | mysql -uroot -plinux.999 zabbix
# 你可以用以下的命令查看是否导入进去了
$ mysql -uroot -plinux.999 -e 'show tables from zabbix'


# 5.修改zabbix-server的配置文件,指明IP,便于agent去链接
$ grep "^[a-zA-Z]" /etc/zabbix/zabbix_server.conf # 提取zabbix配置文件所有除了注释开头的信息.便于修改
# 其实你也可以打开这个文件,进去修改,就修改DBName DBUser DBHost DBPassword
------- 将配置内容重定向到这个配置文件 ------------------------------------------------
$ cat > /etc/zabbix/zabbix_server.conf <<'EOF'    
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=linux.999
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
-------------------------------------------------------

# 6.启动zabbix服务,且开机自启
$ systemctl start zabbix-server && systemctl enable zabbix-server

# 7.检查zabbix的端口是否运行 Port:10051
# 有可能遇到无法启动,看不到端口号的情况,有以下2种情况
# 	7.1.防火墙是否放行了10051端口 : firewall-cmd --zone=public --permanent --add-port=10051/tcp
# 	7.2 是否关闭了SELinux : setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
#   .*表示任意数量的任意字符
$ netstat -tunlp | grep zabbix

至此,Zabbix服务端zabbix-server和 zabbix-UI都已经安装完毕

接下来安装Web服务器 (Apache)

4.0版本基于LAMP访问Zabbix前端页面

2.Apache的配置

只需要修改一个时区即可,因为你要让zabbix支持中文

$ vim /etc/httpd/conf.d/zabbix.conf
# 修改zabbix.conf文件
--------------------------------------
$ php_value date.timezone Asia/Shanghai  # 改这段代码,改为Asia/Shanghai即可
--------------------------------------

# 对zabbix.conf做个小小的解释
-------------------------------------------------------------------------
Alias /zabbix /usr/share/zabbix   
# 这句代码,是给 /usr/share/zabbix起了一个别名 /zabbix
# 也就是说,当我们访问web页面的时候,应该是 192.168.1.9/zabbix
# 而不是 192.168.1.9/usr/share/zabbix,更不是192.168.1.9:80
# 因为这里的起别名,就相当于你访问zabbix目录,其实是在访问/usr/share/zabbix这个目录
-------------------------------------------------------------------------



# 启动80端口web服务
# 千万记得去防火墙看看,http服务是否被允许了
$ firewall-cmd --query-service=http # 如果是yes,那就没错,如果是no,那就要启用http服务
# 针对未启用的情况
$ firewall-cmd --permanent --zone=public --add-service=http

# 然后启动httpd服务
$ systemctl start httpd

# 然后访问 宿主机IP/zabbix ,例如 192.168.1.191/zabbix 即可

3.Zabbix前端页面配置

  • 点击 Next step

zabbix部署方案 zabbix部署教程_linux

  • 这个要全是 OK 才可以 ,然后下一步

zabbix部署方案 zabbix部署教程_zabbix_02

  • 配置zabbix用户和密码

zabbix部署方案 zabbix部署教程_linux_03

  • 输入主机名

zabbix部署方案 zabbix部署教程_zabbix部署方案_04

  • 然后 下一步,下一步,直到出现成功页面

zabbix部署方案 zabbix部署教程_mysql_05

  • 下一步出现登陆页面,登陆进去 默认用户名和密码 Username : Admin Password : zabbix

zabbix部署方案 zabbix部署教程_zabbix_06

  • 修改为中文页面

zabbix部署方案 zabbix部署教程_mysql_07

  • 修复中文乱码
# 上面图中的字体是乱码,我这个是改完了之后的。
# 所以你需要搞到一个支持中文的字体,很简单,你去 控制面板->字体 随便找一个复制到桌面上。 例如楷体 simkai.ttf
# 然后传到 /usr/share/zabbix/assets/fonts/ 目录下。
# 然后编辑 vim /usr/share/zabbix/include/defines.inc.php 此文件
# 修改 define('ZBX_GRAPH_FONT_NAME',       'simkai'); // font file name   # 这段代码大约在七十多行
# 然后重启http服务 即可修复乱码