一、Zabbix简介
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
Zabbix由2部分构成,zabbix server与可选组件zabbix agent。
Zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,可以运行在众多平台上。
二、基础组件安装
zabbix的安装需要LAMP环境
#yum -y install epel-release
#yum -y install gcc gcc-c++
# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI
# yum -y install httpd
# yum -y install mariadb mariadb-server
二、创建程序运行用户,zabbix默认以zabbix用户运行
#groupadd -r zabbix
#useradd -g zabbix -r zabbix
注: -r, --system 创建一个系统账户-g, --gid GROU 新账户主组的名称或 ID
四、数据库配置
#systemctl start mariadb.service
#systemctl enable mariadb.service
# mysql -u root -p
Enter password: ##输入MySQL密码,默认为空
MariaDB [(none)]> create database zabbix character set utf8;
##创建数据库zabbix,并且数据库编码使用utf8
MariaDB [(none)]> insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));
##新建账户zabbix,密码zabbix
MariaDB [(none)]> flush privileges; ##刷新系统授权
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
##允许账户能从本机连接至数据库zabbix
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
设置数据库密码,根据提示一步步完成
# mysql_install_db
五、zabbix的安装和配置
①下载并进行编译安装
# tar -zxvfzabbix-3.2.6.tar.gz
# cd zabbix-3.2.6
# ./configure --with-mysql=/usr/bin/mysql_config --with-net-snmp \
--with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix
--prefix----> 指定zabbix安装目录
--enable-server----> 支持zabbix服务器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服务器
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置
--with-mysql=/usr/bin/mysql_config---->使用MySQL客户端库可以选择指定路径mysql_config
注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,yum -y install mariadb-devel进行安装!
# make
# make install
②导入数据库
# mysql -u root -p
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /root/zabbix-3.2.6/database/mysql/schema.sql
MariaDB [zabbix]> source /root/zabbix-3.2.6/database/mysql/data.sql
MariaDB [zabbix]> source /root/zabbix-3.2.6/database/mysql/images.sql
MariaDB [zabbix]> quit
注:导入请按以上顺序导入,否则会出现错误情况!
③添加服务器对应的端口(可省略)
[root@localhost ~]# cat /etc/services | grep zabbix
zabbix-agent 10050/tcp # Zabbix Agent //客户端
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper //服务端
zabbix-trapper 10051/udp # Zabbix Trapper
④拷贝相关的配置文件到/etc下并进行相关配置修改
[root@localhost ~]# mkdir -p /etc/zabbix
[root@localhost ~]# cp -r zabbix-3.2.6/conf/* /etc/zabbix/
[root@localhost ~]# ln -s /usr/local/zabbix/etc /etc/zabbix/
[root@localhost ~]# chown -R zabbix:zabbix /etc/zabbix
[root@localhost ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[root@localhost ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
a).修改zabbix_server.conf
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
修改后如下:
[root@localhost ~]# cat /etc/zabbix/zabbix_server.conf|grep -n ^[^#]
LogFile=/tmp/zabbix_server.log ##日志文件地址
DBHost=localhost ##数据库主机
DBName=zabbix ##数据库名
DBUser=zabbix ##数据库用户名
DBPassword=zabbix ##数据库密码
ListenIP=127.0.0.1,192.168.1.107 ##数据库IP地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
##zabbix运行脚本存放目录
b).修改zabbix_agentd.conf
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
修改后如下:
[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.conf|grep -n ^[^#]
PidFile=/tmp/zabbix_agentd.pid ##进程PID
LogFile=/tmp/zabbix_agentd.log ##日志保存位置
EnableRemoteCommands=1 ##允许执行远程命令
Server=127.0.0.1,192.168.1.107 ##agent端的ip
ServerActive=127.0.0.1,192.168.1.107
Hostname=Zabbix server ##在web端添加监控主机时,必须与zabbix创建的hostname相同
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ ##添加在定义Key时,存放的位置
UnsafeUserParameters=1 ##启动自定义key
六、修改PHP相关参数
# vim /etc/php.ini
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai
post_max_size = 28M
七、配置web站点
①
# cd zabbix-3.2.6/
# cp -r frontends/php /var/www/html/zabbix
# chown -R apache:apache/var/www/html/zabbix
②修改httpd.conf的参数
# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.htmlindex.php
③关闭SELinux:
方法一:
# sed-i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#setenforce 0
a、临时关闭(不用重启机器):
# setenforce 0 ##设置SELinux 成为permissive模式 (关闭SELinux)
# setenforce 1 ##设置SELinux 成为enforcing模式 (开启SELinux)
注意:不关闭selinux,数据监控正在进行,监控页面却显示:
Zabbix server is runningNolocalhost:10051
方法二:
b、修改配置文件需要重启机器:
# vim /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
需重启机器
八、安装web界面
#systemctl start httpd.service
#systemctl enable httpd.service
在浏览器中输入http://127.0.0.1/zabbix;进入zabbix的web配置页面
在浏览器中输入http://192.168.1.107/zabbix;进入zabbix的web配置页面
如全部OK,NEXT
配置MySQL数据库信息,并点击“Test connection”按键,如OK,NEXT
默认,直接NEXT
默认,直接NEXT=====》出现错误,提示Fail(忘截图了)
Configuration file"/var/www/html/zabbix/conf/zabbix.conf.php"
created: Fail
Unable to create the configuration file.Please install it manually, or fix permissions on the conf directory.
Press the "Download configuration file" button, download the configuration file and save it as"/var/www/html/zabbix/conf/zabbix.conf.php"When done, press the "Retry" button
按提示点击“Download configuration file”按钮,并将下载的zabbix.conf.php保存到
/var/www/html/zabbix/conf/下,注意修改此文件的权限(默认是 root)
# chown apache:apache /var/www/html/zabbix/conf/zabbix.conf.php
点击“Retry”按钮重试
显示OK,点击“Finish”按钮完成安装操作。
Zabbix的默认账号为admin,密码为zabbix。
zabbix默认是英文版,更改语言======》Profile
在Language中选择zh_CN,点击Update
更改为汉语
九、添加开机启动脚本
# cd zabbix-3.2.6/
# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/zabbix_server
# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/zabbix_agentd
修改脚本的默认设置,指定相关路径以及配置文件:
此步相当重要,不然会出现zabbi_server起不来的现象,查看日志显示
[Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: NO)
# vim /etc/init.d/zabbix_server
21 ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"31daemon $ZABBIX_BIN -c /etc/zabbix/zabbix_server.conf
#vim /etc/init.d/zabbix_agentd21 ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
31 daemon $ZABBIX_BIN -c /etc/zabbix/zabbix_agentd.conf
# chmod +x /etc/init.d/zabbix_server
# chmod +x /etc/init.d/zabbix_agentd
#chkconfig --add zabbix_server
#chkconfig --add zabbix_agentd
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
十、启动服务,查看监听端口
# service zabbix_server start
# service zabbix_agentd start
# ss -tln
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 192.168.1.107:10051 *:*
LISTEN 0 128 127.0.0.1:10051 *:*
至此,zabbix server和 server端的agetd 的安装完成了,添加模板,enable 本机监控!
######################################
安装Zabbix agent
一、基础组件安装
#yum -y install gcc gcc-c++
注:如果agent端服务器没网,可以编译好后拷贝过去
二、创建程序运行用户,zabbix默认以zabbix用户运行
#groupadd -r zabbix
#useradd -g zabbix -r zabbix
注: -r, --system 创建一个系统账户-g, --gid GROU 新账户主组的名称或 ID
二、zabbix的安装和配置
①下载并进行编译安装
# tar -zxvfzabbix-3.2.6.tar.gz
#cdzabbix-3.2.6
#./configure--prefix=/usr/local/zabbix--enable-agent
# make
# make install
三、修改配置文件
[root@localhost ~]# vim/usr/local/zabbix/etc/zabbix_agentd.conf
修改后如下:
[root@localhost ~]# cat/usr/local/zabbix/etc/zabbix_agentd.conf|grep -n ^[^#]
11:PidFile=/tmp/zabbix_agentd.pid ##进程PID
21:LogFile=/tmp/zabbix_agentd.log ##日志保存位置
59:EnableRemoteCommands=1 ##允许执行远程命令
81:Server=192.168.1.107##Zabbix server端的ip
122:ServerActive=192.168.1.107
133:Hostname=Zabbix agent ##在web端添加监控主机时,必须与zabbix创建的hostname相同
252:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ ##添加在定义Key时,存放的位置
265:UnsafeUserParameters=1 ##启动自定义key
四、添加开机启动脚本
#cd zabbix-3.2.6
#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
#chmod +x /etc/init.d/zabbix_agentd
#vim /etc/init.d/zabbix_agentd
22 BASEDIR=/usr/local/zabbix
38 # No need to edit the things below
## Remote host端agent启动脚本和Zabbixserverd端agent启动脚本稍有不同,无需指定配置文件
#chkconfig --add zabbix_agentd
#chkconfig zabbix_agentd on
五、启动服务,查看监听端口
#service zabbix_agentd start
#service zabbix_agentd status
# netstat -pantu | grep zabbix_agentd
tcp 0 0 0.0.0.0:100500.0.0.0:* LISTEN 4946/zabbix_agentd
防火墙设置
如果是防火墙设置,大家根据实际情况,放行相关端口!
在 server 端:
开放zabbix端口10050 and 10051.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
重启firewall
systemctl restart firewalld
在agent 断开放 10050 10051端口:
# firewall-cmd --zone=public --add-port=10051/tcp --permanent
# firewall-cmd --zone=public --add-port=10051/tcp --permanent
重启防火墙
# firewall-cmd --reload# iptables -A INPUT -p tcp --dport 10050 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A INPUT -p tcp --dport 10051 -m state --state NEW,ESTABLISHED -j ACCEPT
网友评论
是在修改这里
# vim /etc/init.d/zabbix_server
21 ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"31daemon $ZABBIX_BIN -c /etc/zabbix/zabbix_server.conf
#vim /etc/init.d/zabbix_agentd21 ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
31 daemon $ZABBIX_BIN -c /etc/zabbix/zabbix_agentd.conf