zabbix3.x搭建(1)
服务器端安装配置:
1)、安装:yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel
2)、配置环境:修改php.ini shell#vi /etc/php.ini date.timezone = Asia/Shanghai max_execution_time = 300 post_max_size = 32M max_input_time=300 memory_limit = 128M mbstring.func_overload = 2 开启httpd、mysqld服务 shell#service mysqld start shell#service httpd start
zabbix安装:
1、下载zabbix并上传到linux服务器
首先将需要安装的zabbix源文件从网络上下载好,通过工具(如winscp)等将源文件传到linux服务器上。也可以直接在linux服务器上下载,指令如下:
Wget “http://****”;
[root@CS-NMS-ZA ~]# tar -zxvf zabbix-3.0.3.tar.gz
2、创建用户:
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
[root@CS-NMS-ZA ~]# groupadd zabbix [root@CS-NMS-ZA ~]# useradd -g zabbix zabbix
3、配置数据库:
1)、替换mysql的配置文件2)、vi /etc/my.cnf[root@CS-NMS-ZA ~]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf修改MySQL的字符集为gbk,具体操作如下; 在[Client]和[mysqld]段下分别添加以下内容: default_character_set=gbk 下划线和中杠都OK 其它字符集有:utf8 3)、启动mysql将其中的[mysqld]段下的max_allowed_packet = 1M修改为: max_allowed_packet = 128M
4)、配置远程某个或多个地址访问权限,也可以配置所有地址访问权限[root@CS-NMS-ZA ~]# service mysqld start5)、设置mysql服务为开机自启动: [[root@CS-NMS-ZA ~]# mysql –u root –p (初始密码为空,直接敲回车键,后面设置密码后输入密码) mysql> grant all on *.* to '数据库名'@'ip' identified by '密码' with grant option; //具体写明哪一个地址可以访问 mysql> grant all on *.* to '数据库名'@'%' identified by '' with grant option; //所有地址均可访问:grant all on *.* to 'root'@'%' identified by '' with grant option; mysql> flush privileges;6)、设置数据库root密码:root@CS-NMS-ZA ~]# chkconfig mysqld on7)、导入zabbix数据库[root@CS-NMS-ZA ~]# mysqladmin -u root password "P@ssw0rd" //P@ssw0rd为新的root密码解决mysql远程登录时的1044与1045错误方法: 1.关闭mysql将schema.sql、images.sql、data.sql上传到linux服务器上,如上传到/usr/local/src/zabbix-2.4.7/database/mysql/ [root@CS-NMS-ZA ~]# mysql -u root -p //输入密码进入 mysql> create database zabbix character set utf8; mysql> insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix')); //新建账户zabbix,密码Zabbix mysql> grant all on *.* to 'zabbix'@'%' identified by '' with grant option; mysql> flush privileges; //刷新系统授权表 mysql> use zabbix; mysql> source /root/zabbix-3.0.3/database/mysql/schema.sql; mysql> source /root/zabbix-3.0.3/database/mysql/images.sql; mysql> source /root/zabbix-3.0.3/database/mysql/data.sql; mysql> quit;2.屏蔽权限# service mysqld stop屏幕出现: Starting demo from ..... 3.新开起一个终端输入# mysqld_safe --skip-grant-table# mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> grant all on *.* to 'zabbix'@'localhost' identified by '' with grant option; mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误 mysql> quit
4、安装配置zabbix:
1)、编译安装zabbix:2)、配置zabbix_server.conf[root@CS-NMS-ZA ~]# cd zabbix-3.0.3 [root@CS-NMS-ZA ~]#./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-jabber --enable-ipv6 --with-libxml2 [root@CS-NMS-ZA ~]# make [root@CS-NMS-ZA ~]# make install3)、配置zabbix_agent.conf[root@CS-NMS-ZA ~]# vi /usr/local/zabbix/etc/zabbix_server.conf DBHost=localhost //同一台服务器上这样填写,如果mysql与zabbix安装在不同的服务器上,则天数据库服务器真实地址 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBPort=33064)、拷贝zabbix服务端和客户端的启动文件[root@CS-NMS-ZA ~]# vi /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 //客户端与服务器在同一台服务器上,则使用本机地址,不在同一台服务器上则需要填写zabbix_server真实地址。 ServerActive=127.0.0.1 Hostname=Zabbix server 其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。5)、复制zabbix程序文件端到指定web目录下,并且设置相应权限。[root@CS-NMS-ZA ~]# cp /root/zabbix-3.0.3/misc/init.d/tru64/zabbix_* /etc/init.d/.6)、防火墙设置[root@CS-NMS-ZA ~]# mkdir /var/www/html/zabbix [root@CS-NMS-ZA ~]# cp -ra /root/zabbix-3.0.3/frontends/php/* /var/www/html/zabbix/. [root@CS-NMS-ZA ~]# chown -R apache.apache /var/www/html/zabbix/Centos7以下的版本建议直接关闭防火墙:Centos7以上版本需要加防火墙端口特例: [root@CS-NMS-ZA ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent [root@CS-NMS-ZA ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent [root@CS-NMS-ZA ~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent [root@CS-NMS-ZA ~]# firewall-cmd --zone=public --add-port=10051/tcp --permanent [root@CS-NMS-ZA ~]# firewall-cmd –reload8)、zabbix _server&zabbix_agent的启动与自启动脚本[root@CS-NMS-ZA ~]# chkconfig iptables off [root@CS-NMS-ZA ~]# service iptables stop有两种自启动脚本方式:[root@CS-NMS-ZA ~]# /etc/init.d/zabbix_server stop [root@CS-NMS-ZA ~]# /etc/init.d/zabbix_server start [root@CS-NMS-ZA ~]# /etc/init.d/zabbix_agent stop [root@CS-NMS-ZA ~]# /etc/init.d/zabbix_ agent start保存退出后 [(1)、在/etc/init.d/zabbix_server与/etc/init.d/zabbix_agentd中添加chkconfig: - 95 5 [root@CS-NMS-ZA ~]# vi /etc/init.d/zabbix_server [root@CS-NMS-ZA ~]# vi /etc/init.d/zabbix_agentd # chkconfig: - 95 5(2)、自己写自启动脚本,在/etc/rc.local中添加脚本文件root@CS-NMS-ZA ~]# chkconfig zabbix_server on [root@CS-NMS-ZA ~]# chkconfig zabbix_agent on [root@CS-NMS-ZA ~]# chkconfig httpd on[root@CS-NMS-ZA ~]# vi /etc/rc.local /etc/init.d/zabbix_agentd start sleep 5 /etc/init.d/zabbix_server start sleep 5 service httpd start