zabbix3.x搭建(1)

时间:2024-07-15 09:36:50

服务器端安装配置:

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的配置文件
[root@CS-NMS-ZA ~]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

2)、vi /etc/my.cnf

将其中的[mysqld]段下的max_allowed_packet = 1M修改为:
max_allowed_packet = 128M

修改MySQL的字符集为gbk,具体操作如下;
在[Client]和[mysqld]段下分别添加以下内容:
default_character_set=gbk 下划线和中杠都OK
其它字符集有:utf8
3)、启动mysql

[root@CS-NMS-ZA ~]# service mysqld start

4)、配置远程某个或多个地址访问权限,也可以配置所有地址访问权限

[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;

5)、设置mysql服务为开机自启动:
[

root@CS-NMS-ZA ~]# chkconfig mysqld on

6)、设置数据库root密码:

[root@CS-NMS-ZA ~]# mysqladmin -u root password "P@ssw0rd"   //P@ssw0rd为新的root密码

7)、导入zabbix数据库

将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;

解决mysql远程登录时的1044与1045错误方法:
1.关闭mysql

# service mysqld stop

2.屏蔽权限

# mysqld_safe --skip-grant-table

屏幕出现: Starting demo from .....
3.新开起一个终端输入

# 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:
[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 install

2)、配置zabbix_server.conf

[root@CS-NMS-ZA ~]#  vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost //同一台服务器上这样填写,如果mysql与zabbix安装在不同的服务器上,则天数据库服务器真实地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306

3)、配置zabbix_agent.conf

[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的意思是,客户端主动提交数据给他。

4)、拷贝zabbix服务端和客户端的启动文件

[root@CS-NMS-ZA ~]# cp /root/zabbix-3.0.3/misc/init.d/tru64/zabbix_* /etc/init.d/.

5)、复制zabbix程序文件端到指定web目录下,并且设置相应权限。

[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/

6)、防火墙设置

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 –reload

Centos7以下的版本建议直接关闭防火墙:

[root@CS-NMS-ZA ~]#  chkconfig iptables off
[root@CS-NMS-ZA ~]# service iptables stop

8)、zabbix _server&zabbix_agent的启动与自启动脚本

[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

保存退出后
[

root@CS-NMS-ZA ~]#  chkconfig zabbix_server on
[root@CS-NMS-ZA ~]# chkconfig zabbix_agent on
[root@CS-NMS-ZA ~]# chkconfig httpd on

(2)、自己写自启动脚本,在/etc/rc.local中添加脚本文件

[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