CentOS7 zabbix服务 简单安装文档
1. 简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix-server与可选组件zabbix-agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上
2. 环境准备
zabbix-server 服务器
zabbix-agent 服务器
安装zabbix 和 epel 官方源
[root@zabbix01 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm [root@zabbix01 ~]# wget https://mirrors.ustc.edu.cn/epel/7/x86_64/e/epel-release-7-9.noarch.rpm [root@zabbix01 ~]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm [root@zabbix01 ~]# rpm -ivh epel-release-7-9.noarch.rpm
3. 安装LAMP环境
3.1. Apache服务
安装http软件
[root@zabbix01 ~]# yum install httpd -y
启动Apache并将其设置为开机启动
[root@zabbix01 ~]# systemctl start httpd.service [root@zabbix01 ~]# systemctl enable httpd.service
检查httpd服务状态:
[root@zabbix01 ~]# systemctl status httpd.service
3.2. MySQL服务
安装mysql软件
[root@zabbix01 ~]# yum remove mariadb-libs # 移除mariadb软件包的依赖
到mysql 官网下载mysql57-community-release-el7-11.noarch.rpm rpm包并上传到本地
[root@zabbix01 ~]# yum localinstall mysql57-community-release-el7-11.noarch.rpm # 将MySQL Yum Repository添加到系统的软件库列表 [root@zabbix01 ~]# yum repolist enabled | grep mysql # 检查是否添加成功
安装mysql
[root@zabbix01 ~]# yum install mysql-community-server -y
启动mysqld服务并将其设为开机启动
[root@zabbix01 ~]# systemctl start mysqld [root@zabbix01 ~]# systemctl enable mysqld [root@zabbix01 ~]# systemctl status mysqld # 查看mysql状态
设置mysql root 密码:
1. 修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 # 这一行配置让 mysqld 启动时不对密码进行验证 2. 重启 mysqld 服务:systemctl restart mysqld 3. 使用 root 用户登录到 mysql:mysql -u root 4. 切换到mysql数据库,更新 user 表: # 在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string mysql> show databases; mysql> show tables; mysql> update user set authentication_string = password('password'), password_expired = 'N', password_last_changed = now() where user = 'root'; 5. 退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容 6. 重启 mysqld 服务,再用新密码登录即可
注: MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字,找到密码后,在本机以初始密码登录,并且(也只能)通过 alter user 'root'@'localhost' identified by 'root' 命令,修改 root 用户的密码为 root,然后退出,重新以root用户和刚设置的密码进行登录即可。
3.3 php 服务
安装php软件
[root@zabbix01 ~]# yum install php -y
重启httpd服务
[root@zabbix01 ~]# systemctl restart httpd
测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档
安装php-mysql
php-mysql是一个用于让PHP程序使用MySQL数据库的模块
[root@zabbix01 ~]# yum install php-mysql -y
重启httpd服务
[root@zabbix01 ~]# systemctl restart httpd
4. 安装zabbix-server
注:server端也需要监控,所以也需要安装zabbix-agent
[root@zabbix01 ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway -y
修改 /etc/httpd/conf.d/zabbix文件,修改时区:
[root@zabbix01 ~]# vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai
重启httpd服务
[root@zabbix01 ~]# systemctl restart httpd
创建MySQL 数据库和用户
[root@zabbix01 ~]# mysql -uroot -pxiess1234 set global validate_password_policy=0; # 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。 mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'password'; mysql> flush privileges; # 刷新系统权限表
数据库导入zabbix template
mysql> use zabbix; mysql> source /usr/share/doc/zabbix-server-mysql-3.2.6/create.sql
配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf
配置下面的三个参数
[root@zabbix01 ~]# grep -Ev "^#|^$" /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix # 数据库名称 DBUser=zabbix # 数据库用户 DBPassword=password # 数据库密码 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 [root@zabbix01 ~]#
配置zabbix-agent
编辑/etc/zabbix/zabbix_agentd.conf
配置zabbix server 的ip # Server=127.0.0.1 本机为server地址
[root@zabbix01 ~]# grep -Ev "^#|^$" /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/*.conf [root@zabbix01 ~]#
修改PHP 设置
max_execution_time = 600 max_input_time = 600 memory_limit = 256M upload_max_filesize = 16M date.timezone = Asia/Shanghai
启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动
[root@zabbix01 ~]# systemctl start zabbix-server [root@zabbix01 ~]# systemctl start zabbix-agent [root@zabbix01 ~]# systemctl restart httpd [root@zabbix01 ~]# systemctl restart mysqld [root@zabbix01 ~]# systemctl enable zabbix-server Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service. [root@zabbix01 ~]# systemctl enable zabbix-agent Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service. [root@zabbix01 ~]#
查看zabbix的服务
[root@zabbix01 ~]# netstat -anp|less Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 699/sshd tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 28574/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 28517/zabbix_server tcp 0 0 192.168.165.47:22 192.168.180.32:64327 ESTABLISHED 10411/sshd: root@pt tcp 0 104 192.168.165.47:22 10.0.1.5:54443 ESTABLISHED 28464/sshd: root@pt tcp6 0 0 :::3306 :::* LISTEN 28626/mysqld tcp6 0 0 :::80 :::* LISTEN 28591/httpd tcp6 0 0 :::22 :::* LISTEN 699/sshd tcp6 0 0 :::10050 :::* LISTEN 28574/zabbix_agentd tcp6 0 0 :::10051 :::* LISTEN 28517/zabbix_server
5. 通过控制台配置Zabbix
进入zabbix配置界面 http://ipaddr/zabbix