1. Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix-agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,FreeBSD,Open BSD,OS X等平台上。
2. 服务器准备
2.1 主机信息 IP地址
代码语言:txt复制#一台虚拟机
hostname:Zabbix Server
ip:server_ip_address
2.2 查看主机的系统版本信息
代码语言:txt复制# cat /etc/redhat-release
2.3 暂时关掉防火墙和Selinux
代码语言:txt复制# sudo firewall-cmd --state
# cat /etc/sysconfig/selinux
# sudo systemctl stop firewalld.service
# sudo firewall-cmd --state
# sudo setenforce 0 && sudo getenforce
# sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
3. 安装Zabbix Server需要的环境(LAMP: httpd服务 数据库服务 php)
3.1 LAMP介绍
LAMP:Linux Apache Mysql/MariaDB Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
LNMP:LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。
3.2 安装apache也就是httpd服务
3.2.1 直接yum安装
代码语言:txt复制 # sudo yum install -y httpd
# sudo rpm -qa|grep httpd
3.2.2 设置httpd服务开机自启动
代码语言:txt复制 # sudo systemctl enable httpd.service
# echo $?
3.2.3 启动httpd服务
代码语言:txt复制# sudo systemctl start httpd && sudo echo $?
查看是否启动成功
代码语言:txt复制# sudo systemctl status httpd.service
通过端口号查看httpd服务是否启动成功
代码语言:txt复制# sudo lsof -i:80
3.3 安装数据库—存储zabbix采集到的数据
mariadb、mysql均可,自行安装
3.4 安装php环境
代码语言:txt复制# sudo yum install -y php php-mysql
# echo $?
# sudo rpm -qa|grep php
4. 正式安装Zabbix-server
注意:zabbix Server也要监控自身,所以也要同时安装zabbix-agent
4.1 下载zabbix的rpm安装包
代码语言:txt复制# cd /home/tools/
下载安装rpm包
下载地址 http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/
代码语言:txt复制###下载如下rpm安装包###
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-server-mysql-5.0.4-1.el7.x86_64.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.4-1.el7.x86_64.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-web-5.0.4-1.el7.noarch.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-web-mysql-scl-5.0.4-1.el7.noarch.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-get-5.0.5-1.el7.x86_64.rpm
# sudo wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-sender-5.0.4-1.el7.x86_64.rpm
###查看###
# ll
###将上面所有rpm安装包逐一安装###
# sudo yum install -y zabbix-release-5.0-1.el7.noarch.rpm
###查看安装情况###
# rpm -qa |grep zabbix
4.2 安装zabbix*
代码语言:txt复制# sudo yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender
# sudo rpm -qa zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender
4.3 在数据库中创建一个zabbix库并设置为utf8的字符编码格式
代码语言:txt复制# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.5.60-MySQL MySQL Server
Copyright (c) 2000, 2018, Oracle, MySQL Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MySQL [(none)]> MySQL [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MySQL [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> exit
Bye
4.4 向zabbix库导入表 — 初始化zabbix数据
代码语言:txt复制# cd /usr/share/doc/zabbix-server-mysql-5.0.4
# sudo rpm -qa zabbix-server-mysql
zabbix-server-mysql-5.0.4-1.el7.x86_64
###查看文件###
# ll
总用量 2120
-rw-r--r--. 1 root root 98 11月 12 18:50 AUTHORS
-rw-r--r--. 1 root root 866545 11月 12 18:50 ChangeLog
-rw-r--r--. 1 root root 17990 11月 12 18:50 COPYING
-rw-r--r--. 1 root root 1267039 11月 12 18:54 create.sql.gz ###出现这个文件###
-rw-r--r--. 1 root root 52 11月 12 18:50 NEWS
-rw-r--r--. 1 root root 1062 11月 12 18:50 README
解压sql文件
代码语言:txt复制###使用gunzip命令
# sudo gunzip create.sql.gz
###查看当前文件###
# ll
总用量 5756
-rw-r--r--. 1 root root 98 11月 12 18:50 AUTHORS
-rw-r--r--. 1 root root 866545 11月 12 18:50 ChangeLog
-rw-r--r--. 1 root root 17990 11月 12 18:50 COPYING
-rw-r--r--. 1 root root 4990625 11月 12 18:54 create.sql ###变成这样###
-rw-r--r--. 1 root root 52 11月 12 18:50 NEWS
-rw-r--r--. 1 root root 1062 11月 12 18:50 README
对表进行导入
代码语言:txt复制# mysql -uzabbix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.5.60-MySQL MySQL Server
Copyright (c) 2000, 2018, Oracle, MySQL Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MySQL [(none)]> use zabbix;
Database changed
MySQL [zabbix]> source create.sql;
MySQL [zabbix]> show tables;
MySQL [zabbix]> exit;
4.5 配置zabbix server配置文件
代码语言:txt复制# cd /etc/zabbix
# ll
总用量 28
drwxr-x---. 2 apache apache 32 5月 7 11:52 web
-rw-r--r--. 1 root root 10632 11月 12 18:55 zabbix_agentd.conf
drwxr-xr-x. 2 root root 37 5月 7 11:52 zabbix_agentd.d
-rw-r-----. 1 root zabbix 15527 11月 12 18:55 zabbix_server.conf ###找到此文件,编辑该文件###
# sudo vi zabbix_server.conf
编辑之后的配置文件内容如下:
代码语言:txt复制# sudo egrep -v "^$|^#" zabbix_server.conf
对照如下内容,找到对应项进行修改:
# Include=/usr/local/etc/zabbix_server.general.conf
# Include=/usr/local/etc/zabbix_server.conf.d/
# Include=/usr/local/etc/zabbix_server.conf.d/*.conf
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=zabbix
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
4.6 设置zabbix-server服务开机自启动
代码语言:txt复制# sudo systemctl enable zabbix-server.service && echo $?
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
4.7 启动zabbix-server
代码语言:txt复制# sudo systemctl start zabbix-server.service && echo $?
0
检查zabbix-server是否启动成功?注意:zabbix-server服务没有端口。
代码语言:txt复制# sudo ps -ef |grep zabbix_server
注意:是过滤zabbix_server而不是zabbix-server
因为:在sudo systemctl start zabbix-server.service启动的时候,
实际上是调用的 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf 命令
5. 开始LAMP和Zabbix-server的关联配置
5.1 配置httpd相关联的zabbix配置文件
代码语言:txt复制# cd /etc/httpd/conf.d
# ll
总用量 24
-rw-r--r--. 1 root root 2926 4月 24 21:45 autoindex.conf
-rw-r--r--. 1 root root 691 10月 31 2018 php.conf
-rw-r--r--. 1 root root 366 4月 24 21:46 README
-rw-r--r--. 1 root root 1252 4月 24 21:44 userdir.conf
-rw-r--r--. 1 root root 824 4月 24 21:44 welcome.conf
-rw-r--r--. 1 root root 870 7月 30 2018 zabbix.conf ###修改这个文件配置###
# cat /etc/httpd/conf.d/zabbix.conf
#
# Zabbix monitoring system php web frontend
#
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix"> ###zabbix-server安装路径####
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
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 always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
php_value date.timezone Asia/Shanghai ###配置时区###
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
5.2 重启httpd服务
代码语言:txt复制# sudo systemctl restart httpd.service && echo $?
6. 登录zabbix的web管理页面进行初始化配置
6.1 访问地址:http://server_ip_address/zabbix/setup.php
如果出现类似报错
解决步骤:
代码语言:txt复制###修改此文件,找到对应项,修改内容###
# vi /etc/php.ini
post_max_size8M16M
max_execution_time30300
max_input_time60300
date.timezone = Asia/Shanghai
###重启httpd###
#systemctl restart httpd.service
全是OK即表示成功。注意:Password是我们之前设置的数据库密码zabbix
配置Host、Port、Name
到这一步就基本上完成了初始化配置了,接着就可以登录账号了
登陆账户默认是Admin 密码是zabbix
6.2 设置web页面中文显示
6.3 对Zabbix Server服务器自身进行监控
如出现其他问题,切记根据报错问题进行百度,基本都有解决办法。
参考资料:
重点参考:Centos7下安装部署Zabbix-server
PHP安装问题