zabbix 一款非常强大的监控软件,不仅可以基于SNMP监控各种网络设备,而且还可以监控linux win等各版本操作系统的状态
百度经验:jingyan.baidu.com
工具/原料
- 1
关闭selinux :
vi /etc/selinux/config
SELINUX=disabled
先添加一个zabbix的官方yum源
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
- 2
安装依赖组件包
yum -y install iksemel libssh2 zabbix-server-mysql zabbix-web-mysql mysql-server zabbix-agent install net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils net-snmp
每个组件包具体作用,请直接百度软件包名称即可,这里不再详加说明
- 3
这里使用yum源安装的数据库版本应该是Mysql 5.1.73,初始密码为空,一定要记得设置root用户密码!
3-1.
登陆数据库:
mysql -u root
3-2.
修改数据库密码:
set password for [email protected]=password(‘suiyi‘);
这里我设置的密码是"suiyi",你修改成你自己想要设置的密码就行
3-3.
创建zabbix的数据库:
create database zabbixdb character set utf8 collate utf8_bin;
我这里创建的数据库名字为zabbixdb,你可以自己定义,但是注意后续的操作也要试用你自己的数据库名称
为了支持中文,数据库字符集采用utf8
这里说的支持中文不是指的中文web管理界面的,而是你在定义添加设备的时候可以使用中文名称
3-4.
授权zabbix系统访问Mysql数据库的用户和密码:
grant all privileges on zabbixdb.* to [email protected] identified by ‘zabbixpass‘;
zabbixdb.*指的是访问zabbixdb库内的所有表,这里我定义的用户为zabbixuser 密码为 zabbixpass,同样这里也要修改成你自己的
3-5.
导入zabbix数据库表结构
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/schema.sql
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/images.sql
mysql -uroot -psuiyi zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.1/create/data.sql
这三个表,都要导入
记得每条指令的前面部分
mysql -uroot -psuiyi zabbixdb
mysql 数据库操作主指令
-uroot 以root用户登录
-psuiyi 这里的suiyi为你3-2步骤设置的root密码(这里注意,-p和密码之间不要有空格,直接输入密码就行 否则会报错)
zabbixdb 为3-3步骤创建的数据库名称
/usr/share/doc/zabbix-server-mysql-2.4.1/create/目录内的三个sql文件为安装zabbix软件时自动创建
- 4
编辑zabbix的配置文件
vi /etc/zabbix/zabbix_server.conf
依次找到DBHost DBName DBUser DBPassword 四个关键字,
修改成你自己上面定义的内容:
DBHost=localhost 指的是访问本机数据库 DBName=zabbixdb 3-3 创建的zabbix的数据库名字 DBUser=zabbixuser 3-4授权访问数据库的用户名 DBPassword=zabbixpass 3-4授权访问数据库的密码
- 5
编辑PHP环境配置文件:
vi /etc/httpd/conf.d/zabbix.conf
对应修改内容如下
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 date.timezone Asia/Shanghai
其实zabbix都给你设置好了,只有最后一项需要你改动下,去掉前面的#号
时区设置成Asia/Shanghai
- 6
添加固定服务端口,以便于后期监测和防火墙监控端口
编辑/etc/services文件
vi /etc/services
跳到文件末尾(大写G直接跳)追加以下内容:
zabbix-agent 10050/tcp # zabbix-agent-tcpzabbix-agent 10050/udp # zabbix-agent-udpzabbix-trapper 10051/tcp # zabbix-trapper-tcpzabbix-trapper 10051/udp # zabbix-trapper-udp
- 7
开启防火墙端口(tcp\\\\80,10050,10051 udp\\\\10050,10051)
当然你可以直接关闭防火墙,但是强烈建议生产环境一定不要这么做!
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 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT
service iptables save
- 8
设置所需服务自动启动:(httpd,mysqld,snmpd,snmptrapd,zabbix-agent,zabbix-server)
chkconfig httpd on ; service httpd start
chkconfig mysqld on ; service mysqld start
chkconfig snmpd on ; service snmpd start
chkconfig snmptrapd on ; service snmptrapd start
chkconfig zabbix-agent on ; service zabbix-agent start
chkconfig zabbix-server on ; service zabbix-server start