一:yum安装LAMP环境
zabbix-server端防火墙配置(可以选择iptables -F清空) iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --sport 10050 -j ACCEPT
# yum install -y httpd httpd-devel httpd-tools mariadb-server mariadb-devel php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
#yum -y install php* --skip-broken
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI gcc libevent libevent-devel javac*安装zabbix环境需求插件
二:编译zabbix-server
[root@zabbix_server ~]# useradd -M -s /sbin/nologin zabbix
# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz --no-check-certificate
[root@zabbix_server ~]# tar zxvf zabbix-3.4.10.tar.gz -C /usr/src/
[root@zabbix_server ~]# cd /usr/src/zabbix-3.4.10/
[root@zabbix_server zabbix-3.4.10]# ./configure --prefix=/usr/local/zabbix --enable-server -enable-agent --enable-proxy --with-mysql --enable-netsnmp --with-libcurl --enable-java
--prefix----> 指定zabbix安装目录
--enable-server----> 支持zabbix服务器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服务器
--enable-java ---->支持jmx监控
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp软件包,选择性地指定路径NET-SNMP配置
--with-mysql----->调用数据库模块
[root@zabbix_server zabbix-3.4.10]# make
[root@zabbix_server zabbix-3.4.10]# make install
PS:这里安装完成之后,可以通过config.log查看预编译成功的模块
注:如出现configure: error: MySQL library not found错误,是因为缺少mariadb-devel该软件包,yum install mariadb-devel进行安装
[root@zabbix_server zabbix-3.4.10]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
[root@zabbix_server zabbix-3.4.10]# cd /usr/local/zabbix/etc/
[root@zabbix_server etc]# cp zabbix_server.conf zabbix_server.conf.bak
[root@zabbix_server etc]# vim zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log DBHost=localhost DBName=zabbixdb DBUser=xiaoyu DBPassword=123456 DBPort=3306 Timeout=4 LogSlowQueries=3000 [root@zabbix_server etc]# mkdir /var/log/zabbix -p
[root@zabbix_server etc]# chmod 656 -R /var/log/zabbix/zabbix_server.log #这里需要注意一下,因为我们重新定义了zabbix日志位置,所以我们需要创建对应的日志目并授权~
启动mysql数据库并做相应的授权
[root@zabbix_server etc]# systemctl start mariadb MariaDB [(none)]> create database zabbixdb charset=utf8; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on zabbixdb.* to xiaoyu@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec)
[root@zabbix_server etc]# cd /usr/src/zabbix-3.4.10/database/mysql/
[root@zabbix_server mysql]# ls
data.sql images.sql schema.sql
[root@zabbix_server mysql]# mysql -uxiaoyu -p123456 zabbixdb < schema.sql
[root@zabbix_server mysql]# mysql -uxiaoyu -p123456 zabbixdb < images.sql
[root@zabbix_server mysql]# mysql -uxiaoyu -p123456 zabbixdb < data.sql
[root@zabbix_server mysql]# cp -a /usr/src/zabbix-3.4.10/frontends/php/* /var/www/html/
[root@zabbix_server mysql]# cp /etc/php.ini /etc/php.ini.bak
[root@zabbix_server mysql]# sed -i '/max_execution_time/s/30/600/g;/max_input_time/s/60/600/g;/memory_limit/s/128M/256M/g;/post_max_size/s/8M/32M/g;/upload_max_filesize/s/2M/16M/g;s/;date.timezone.*/date.timezone =Asia/Shanghai/g' /etc/php.ini
PHP配置参数
max_execution_time = 600 #限制执行时间 max_input_time = 600 #设置接受数据的最多时间 memory_limit = 256M #设置每个脚本所占用的内存 post_max_size = 32M #允许POST的数据最大字节长度,默认为8M upload_max_filesize = 16M #上传文件的大小限制 date.timezone = Asia/Shanghai #时区设置
创建&授权zabbix启动配置文件
[root@zabbix_server ~]# cd /usr/src/zabbix-3.4.10/misc/init.d/tru64/
[root@zabbix_server tru64]#cp zabbix_* /etc/init.d/
[root@zabbix_server tru64]#chmod o+x -R /etc/init.d/
[root@zabbix_server tru64]# /etc/init.d/zabbix_server start
Zabbix server started.
[root@zabbix_server tru64]# netstat -anput | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 35982/zabbix_server
root@zabbix_server tru64]# systemctl start httpd
需修创建zabbix.conf.php文件,执行如下命令,或者单击“Download the configuration file”下载zabbix.conf.php文件,并将该文件上传至/var/www/html/conf/,并设置可写权限,刷新WEB页面,zabbix.conf.php内容代码如下,最后单击Finish即可~
[root@zabbix_server conf]# cat zabbix.conf.php <?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; $DB['DATABASE'] = 'zabbixdb'; $DB['USER'] = 'xiaoyu'; $DB['PASSWORD'] = '123456'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = '和讯-zabbix'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
部署agent被控端(本身已安装agent,直接配置即可)
zabbix-agent端防火墙配置 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT 386 iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --sport 10051 -j ACCEPT
[root@localhost ~]# cd /usr/local/zabbix/etc/
[root@localhost etc]# ls
zabbix_agentd.conf zabbix_proxy.conf zabbix_server.conf zabbix_server.conf.d
zabbix_agentd.conf.d zabbix_proxy.conf.d zabbix_server.conf.back
[root@localhost etc]# vim zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.17.135
ServerActive=192.168.17.135
Hostname =192.168.2.129
[root@localhost etc]# /etc/init.d/zabbix_agentd start
Zabbix agent started.
[root@localhost etc]# netstat -anput | grep zabbix_agent
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 23939/zabbix_agentd
【创建自动发现规则】
(1) 创建发现Action
Zabbix发现规则创建完毕,客户端Agent安装完后,被发现的IP主机不会自动添加至Zabbix监控列表,需要添加发现动作,添加方法如下:
Configurationà Actions à Event source(选择Discovery) à Create action |
添加规则时,系统默认存在一条发现规则,可以新建规则,也可以编辑默认规则,如图
上传简体字,防止出现乱码
[root@localhost ~]# cd /var/www/html/fonts
[root@localhost fonts]# mv STXIHEI.TTF DejaVuSans.ttf