centos 安装部署zabbix

Posted 期待某一天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 安装部署zabbix相关的知识,希望对你有一定的参考价值。

Zabbix_server初始安装部署

 各模块要安装的模块

Server:server+nginx+mysql+php

Agentd:agentd

Proxy:proxy+mysql

1.准备环境:

Zabbix的Web Server基于LNMP环境

1.检查和安装依赖包

yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml php-fpm mariadb myriadb-server

先关闭selinux 

①.vi /etc/sysconfig/selinux
②.修改SELINUX=enforcing为SELINUX=disabled

2.下载Zabbix源码包:zabbix-3.0.5.tar.gz至/data/download

tar -zxvf /data/download/zabbix-3.0.5.tar.gz

ls /zabbix安装目录路径/database/mysql/

#可以查看到data.sql  images.sql  schema.sql

 安装mysql (可以参考此博客,写很超级详细):https://blog.csdn.net/qq_15766181/article/details/51962804

3.配置Zabbix Database:

mysql -u root -p\'passwd\'

CREATE DATABASE zabbix CHARACTER SET utf8; #创建zabbix数据库

CREATE USER \'zabbix\'@\'localhost\' IDENTIFIED BY \'123456\';

CREATE USER \'zabbix\'@\'127.0.0.1\' IDENTIFIED BY \'123456\';

FLUSH PRIVILEGES;

#创建zabbix用户访问zabbix数据库

GRANT ALL ON zabbix.* TO \'zabbix\'@\'localhost\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;

GRANT ALL ON zabbix.* TO \'zabbix\'@\'127.0.0.1\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;

#给zabbix授权zabbix数据库,注意localhost和127.0.0.1都要写

FLUSH PRIVILEGES;

SHOW GRANTS FOR zabbix@localhost;

SHOW GRANTS FOR  zabbix@127.0.0.1;

USE zabbix

source /zabbix安装目录路径/database/mysql/schema.sql

source /zabbix安装目录路径/database/mysql/images.sql

source /zabbix安装目录路径/database/mysql/data.sql

#导入zabbix源码包里的sql进zabbix数据库里,注意顺序

4.安装Zabbix:

1.添加用户

groupadd zabbix

useradd zabbix -g zabbix -s /bin/false

#先创建Linux的zabbix组和用户

2.安装zabbix

cd /zabbix安装目录路径/

编译zabbix

生成Makefile

./configure --prefix=/zabbix安装目录路径 --enable-server --enable-agent --enable-java --with-net-snmp --with-libcurl --with-unixodbc --with-libxml2 --with-openipmi --with-mysql=/usr/bin/mysql_config

如果有此报错,是因为缺少依赖,缺啥安装啥,用yum安装 yum install libxml2-devel

然后继续用./configure --prefix=/zabbix安装目录路径 --enable-server --enable-agent --enable-java --with-net-snmp --with-libcurl --with-unixodbc --with-libxml2 --with-openipmi --with-mysql=/usr/bin/mysql_config安装到成功为止,少啥依赖补啥依赖

configure: error: LIBXML2 library not found
#yuminstall libxml2-devel
configure: error: unixODBC library not found
#yum install unixODBC-devel
configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
#yum install OpenIPMI-devel
configure:error: Unable to find "javac" executable in path
#yum install java*具体什么包没找,直接通配算逑,生产环境可去掉--enable-java选项
configure: error: Curl library not found
# yum install curl-devel

 

编译安装

make && make install

ln -s /zabbix安装目录路径/sbin/* /usr/local/sbin/

ln -s /zabbix安装目录路径/bin/* /usr/local/bin/ #加入系统默认路径

说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel

3.修改zabbix server配置文件

vi /zabbix安装目录路径/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log   #(错误)日志要在/tmp下

DBName=zabbix   #数据库名称

DBUser=zabbix   #数据库用户

DBPassword=123456 #用户密码

AlertScriptsPath=/zabbix安装目录路径/share/zabbix/alertscripts   #zabbix的运行scripts目录

:wq

4.修改zabbix agentd配置文件

vi /zabbix安装目录路径/etc/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log   #(错误)日志要在/tmp下

AllowRoot=1    #允许使用root身份运行zabbix采集agent信息

EnableRemoteCommands=1   #允许在zabbix server端执行远程命令

LogRemoteCommands=1     #开启远程命令错误日志

StartAgents=3   #agent监听的端口数,主动模式可以为0

Server=x.x.x.x   #zabbix server的地址,多个ip使用逗号分隔

ServerActive=x.x.x.x   #zabbix主动监控server的ip地址,即agent要主动发送的地址(server)

Hostname=agent_host_name  #在server上添加的agent的主机名

RefreshActiveChecks=120     #items表的更新频率

UnsafeUserParameters=1 #启动自定义key

UserParameter=nginx.status[*],/bin/sh /data/services/zabbix/share/nginx_status.sh $1 #自定义监控项编写

:wq

cat /data/services/zabbix/etc/zabbix_server.conf | sed -n \'/^[^#]/p\'

cat /data/services/zabbix/etc/zabbix_agentd.conf | sed -n \'/^[^#]/p\'  #检查配置

 

5.添加开机启动脚本:

cp /data/download/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_server\\

 /etc/rc.d/init.d/zabbix_server #server端

cp /data/download/zabbix-3.0.5/misc/init.d/fedora/core/zabbix_agentd\\

 /etc/rc.d/init.d/zabbix_agentd #代理端

chmod ug+x /etc/rc.d/init.d/zabbix_* #赋x权限

chkconfig zabbix_server on

chkconfig zabbix_agentd on

6.修改开机脚本中的zabbix的安装目录:

vi /etc/rc.d/init.d/zabbix_server

BASEDIR=/data/services/zabbix

vi /etc/rc.d/init.d/zabbix_agentd

BASEDIR=/data/services/zabbix

 

5.配置Web Server:

mkdir /data/services/tengine/html/zabbix

cp -r /data/download/zabbix-3.0.5/frontends/php/* /data/services/ tengine /html/zabbix/

#将zabbix的php web页面复制到nginx网页目录下

chown xxx:xxx -R /data/services/ tengine /html/zabbix

#xxx为nginx的运行用户,如root

 

6.配置php参数:

vi /etc/php.ini

post_max_size =16M

max_execution_time =300

max_input_time =300

date.timezone = "Asia/Shanghai"

 

Zabbix3.0新增问题:

关于session:

mkdir /var/lib/php/session

chmod -R 777 /var/lib/php/session

不执行上面操作,将不能安装zabbix

关于nginx出现502 upstream sent too big header while reading response header from upstream解决办法:

vim /data/services/tengine/conf/nginx.conf

location ~ \\.php$ {

      root           html;

      fastcgi_buffer_size 128k;

      fastcgi_buffers 32 32k;    #新增两行

      fastcgi_pass   127.0.0.1:9000;

      fastcgi_index  index.php;

      fastcgi_param  SCRIPT_FILENAME  $Document_Root$fastcgi_script_name;

      include        fastcgi_params;

}

 

 

7.服务开启:

service php-fpm restart

 

/data/services/zabbix/sbin/zabbix_server -c /data/services/zabbix/etc/zabbix_server.conf

/data/services/zabbix/sbin/zabbix_agentd -c /data/services/zabbix/etc/zabbix_agentd.conf

 

tail /tmp/zabbix_server.log 或zabbix_agentd.log 查看运行是否成功

 

/data/services/zabbix/sbin/zabbix_server -c /data/services/zabbix/etc/zabbix_server.conf && \\

tail -f /tmp/zabbix_server.log

 

 

本地连接数据库问题:

 21860:20160919:173435.066 using configuration file: /data/services/zabbix/etc/zabbix_server.conf

 21860:20160919:173435.067 [Z3001] connection to database \'zabbix\' failed: [2002] Can\'t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock\' (2)

 21860:20160919:173435.067 Database is down. Reconnecting in 10 seconds.

解决方法:

killall zabbix_server

方法一:

vi /data/services/zabbix/etc/zabbix_server.conf

DBSocket=/tmp/mysql.sock

重启

 

方法二:

mkdir /var/lib/mysql/

chown -R mysql:mysql /var/lib/mysql

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

重启

 

8.安装Web Server:

1.在浏览器中打开:

http://112.74.196.63/zabbix/setup.php

 

如果为Fail的话回去第6步配置php.ini

 

 

如果为Fail就回去第1步如yum -y install php-bcmath,缺什么补什么

 

注意:第一次操作要下从该页面下载zabbix_setup.php提供的zabbix.conf.php并把它上传到服务器的/data/services/tengine/html/zabbix/conf/目录中

 

完成:

 

Zabbix server is running 如果为Fail证明server配置有错

重新操作:

/data/services/zabbix/sbin/zabbix_server

/data/services/zabbix/sbin/zabbix_agentd

 

tail -f /tmp/zabbix_server.log 或zabbix_agentd.log 查看运行是否成功

 

 

 

Web的登录默认账号密码为:admin/zabbix

 

外来人要在这里登录

 

9.更换成中文版:

1.修改web server的配置,看看页面是否打开简体中文选项:

vi /data/services/nginx/html/zabbix/include/locales.inc.php

 \'zh_CN\' => array(\'name\' => _(\'Chin       ese (zh_CN)\'),        \'display\' => true),

 

2.替换监控图像上系统默认的字体,默认字体不支持中文,图像上会显示乱码

在Windows系统中C:\\Windows\\Fonts目录中复制一个中文字体文件,(.ttf格式)

将simhei.ttf文件上传到/data/services/nginx/html/zabbix/fonts中

mv DejaVusSans.ttf DejaVusSans.ttf-bak #备份原字体

mv simhei.ttf DejaVusSans.ttf #覆盖

 

3.在web中设置成中文

以上是关于centos 安装部署zabbix的主要内容,如果未能解决你的问题,请参考以下文章

CentOS6.8源码安装部署Zabbix3.4.5

CentOS6.8源码安装部署Zabbix3.4.5

zabbix3.0 LNMP安装部署 centos7

Centos7下zabbix安装与部署,设置中文(保姆级图文)网络工程

Centos7下zabbix-3.2.4安装部署

CentOS 7.5 部署安装 Zabbix