ZABBIX部署总结篇
Posted 51技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZABBIX部署总结篇相关的知识,希望对你有一定的参考价值。
一、ZABBIX的介绍
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix 由2部分构成,zabbixserver 与可选组件zabbix agent。
zabbix server 可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent 可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1,Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
zabbix server 可以单独监视远程服务器的服务状态;同时也可以与zabbix agent 配合,可以轮询zabbix agent 主动接收监视数据(trapping方式),同时还可被动接收zabbix agent 发送的数据(trapping方式)。
另外zabbix server 还支持SNMP(v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix server 监听在TCP 10051端口上
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
Zabbix主要功能:
- cpu负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
二、ZABBIX安装
2.1、安装LAMP或者LNMP
安装搭建LAMP或LNMP,可以参考LNMP和LAMP安装文档进行安装
2.2、安装zabiix
下载zabbix-3.4.7.tar.gz
2.2.1、创建zabbix用户和组
[root@localhostsoft]# groupadd zabbix
[root@localhostsoft]# useradd -g zabbix zabbix
2.2.2、创建zabbix数据库:
server和proxy的运行都依赖于数据库,agent则不需要。以mysql数据库为例:在mysql数据库下创建zabbix库
mysql>create database zabbix;
Query OK, 1row affected (0.45 sec)
mysql> showdatabases;
+--------------------+
| Database |
+--------------------+
|information_schema |
| mysql |
|performance_schema |
| test |
| zabbix |
+--------------------+
5 rows in set(0.00 sec)
mysql>
Bye
[root@localhost~]#
2.2.3、登录mysql创建zabbix用户名和密码
mysql> GRANT ALL ON zabbix.* TO'zabbix'@'192.168.%.%' IDENTIFIED BY 'zabbix';
Query OK, 0rows affected (1.13 sec)
mysql>FLUSH PRIVILEGES;
Query OK, 0rows affected (0.10 sec)
mysql>
Bye
[root@localhost~]#
在创建完帐号并授权成功后,使用命令行登录帐号看是否能登录成功,能登陆则正确
2.2.4、解压源码包并为zabbix提供数据库
解压软件包
[root@localhostsoft]# tar -zxvf zabbix-3.2.3.tar.gz
[root@localhostsoft]# cd zabbix-3.2.3
[root@localhost~]# cd /root/zabbix-3.2.3/database/
为zabbix提供数据库
[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/schema.sql
[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/images.sql
[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/data.sql
2.2.5、编译安装
[root@localhostzabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-server--enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl--with-ssh2 --with-openipmi
出错解决方法
执行时报以下错:
报以下错
configure: error: Invalid Net-SNMP directory - unable to findnet-snmp-config
解决方法:yum install net-snmp-devel
报以下错:configure: error: SSH2 library not found
解决方法:
yum installlibssh2-devel
报以下错configure: error: Unable to use libevent (libevent checkfailed)
解决方法
yum installlibevent-devel -y
报以下错:configure: error: Curl library not found
解决方法:
yum installlibcurl-devel
报错:mysql library not found
解决方法:yum installmysql-devel
2.2.6、而后编译安装zabbix即可
[root@localhostzabbix-3.2.3]# make && make install
2.2.7、添加配置文件
[root@localhostetc]# mkdir /etc/zabbix
[root@localhostetc]# cp /usr/local/zabbix/etc/zabbix_agentd.conf /etc/zabbix/
[root@localhostetc]# cp /usr/local/zabbix/etc/zabbix_server.conf /etc/zabbix/
[root@localhostetc]# chown -R zabbix:zabbix /etc/zabbix/
2.2.8、添加执行启动脚本
[root@localhostsbin]#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/* /etc/init.d/
[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_agentd
[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server
2.2.9、修改启动脚本文件
添加启动脚本之后需要修改这两个文件zabbix_server和zabbix_agentd,中的路径修改为zabbix实际的安装目录
[root@localhostsbin]#vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
[root@localhostsbin]#vim /etc/init.d/zabbix_ agentd
BASEDIR=/usr/local/zabbix
2.2.10、添加zabbix服务端和客户端开机自启动
在添加完服务之后添加为开机自启动,为防止出现问题之后能自行启动zabbix server和zabbix agent 作为服务
[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_server
[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_agentd
2.2.11、修改常用配置文件
[root@localhostsbin]#vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=存放数据的数据库名字
DBUser=zabbixzabbix数据库连接用户名
DBPassword=zabbixzabbix数据库连接密码
注:要是默认可以不用修改DBSocket,可以使用find 查找下(确定用的是那个mysql.sock),要是连不上数据库大多数是DBSocker的配置不对
DBSocket=/tmp/mysql.sock 数据库mysql.sock文件位置
2.2.12、启动zabbix服务
Centos6启动方式
[root@iZ2zegql6fupnhn8aei0bgZinit.d]# service zabbix_agentd start
Startingzabbix_agentd (via systemctl): [ OK ]
[root@iZ2zegql6fupnhn8aei0bgZinit.d]# service zabbix_server start
Startingzabbix_server (via systemctl): [ OK ]
[root@iZ2zegql6fupnhn8aei0bgZinit.d]#
Centos7启动方式
# systemctl start zabbix-server zabbix-agent
# systemctl enable zabbix-server zabbix-agent
注:启动报错
[root@localhostsbin]# service zabbix_server start
Startingzabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading sharedlibraries: libmysqlclient.so.18: cannot open shared object file: No such fileor directory
[失败]
[root@localhostsbin]#
解决方法:
[root@localhostsbin]# find / -name libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
/root/soft/mysql-5.5.49/libmysql/libmysqlclient.so.18
/root/soft/mysql-5.5.49/libmysql/CMakeFiles/CMakeRelink.dir/libmysqlclient.so.18
[root@localhostsbin]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
[root@localhostsbin]# ldconfig
在重新启动即可
2.2.13、使用ss –tnlp | grep zabbix查看zabbix,默认监听在10051端口
三、使用web端安装zabbix
3.1、为web端提供web zabbix源码文件
[root@iZ2zegql6fupnhn8aei0bgZ~]# mkdir /data/WebData/zabbix/
[root@localhost php]# cp -R /root/ zabbix-2.0.20/frontends/php/*/data/WebData/zabbix/
[root@localhostphp]#
Nginx配置文件如下:
[root@iZ2zegql6fupnhn8aei0bgZ~]# cat /etc/nginx/conf.d/zabbix.conf
server {
listen 9001;
location / {
root /data/WebData/zabbix;
index index.php index.htmlindex.htm;
}
server_tokens off;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /data/WebData/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
# location /ngx_status
# {
# stub_status on;
# access_log off;
# allow 127.0.0.1;
# deny all;
# }
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
}
3.2、在浏览器里面输入IP安装地址http://192.168.1.200/即可
注:解决出现以下的红色警告,则需要用3.2.1步骤解决
注:解决出现以下的红色警告,则需要用3.2.1步骤解决
3.2.1、修改/etc/php.ini
找到定位到 ;date.timezone=这一行修改为以下内容
[root@localhostphp]# vim /etc/php.ini
date.timezone= Asia /Shanghai
重启httpd服务
[root@localhostphp]# service nginx restart
[root@localhostphp]#
3.2.2、开始安装 点击Next进行环境检查
3.2.3、环境检查没有问题时,则通过并进行下一步
如报错,参考报错信息进行修正
3.2.4、配置数据库,没有问题后进行下一步Next
3.2.5、配置zabbix-server地址和端口、和别名
3.2.6、预览配置信息,确定配置进行下一步
3.2.7、进行安装完成
正确界面为
3.2.8、点击Finish,则安装完成
3.2.9、安装完成后开始登录,默认帐号为admin 密码为zabbix,
四、安装Linux客户端(只安装zabbix_agent)4.
4.1、解压、编译安装zabbix客户端
[root@localhostzabbix-2.0.20]# tar -zxvf zabbix-2.0.20.tar.gz
[root@localhostzabbix-2.0.20]# cd zabbix-2.0.20
[root@localhostzabbix-2.0.20]# ./configure --enable-agent
[root@localhostzabbix-2.0.20]# make && make install
4.2、查找客户端配置文件
root@localhostzabbix-2.0.20]# find / -name zabbix_agent.conf
/usr/local/etc/zabbix_agent.conf
/root/soft/zabbix-2.0.20/conf/zabbix_agent.conf
4.3、修改zabbix客户端配置文件
[root@localhostzabbix-2.0.20]# vim /usr/local/etc/zabbix_agent.conf
LogFile=/tmp/zabbix_agentd.log
ServerActive=127.0.0.1主动提交数据
[root@localhostsbin]#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/ zabbix_agentd /etc/init.d/
[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_agentd
4.4、修改启动脚本文件abbix_agentd,修改为zabbix的安装目录
[root@localhostsbin]#vim /etc/init.d/ zabbix_agentd
BASEDIR=/usr/local/zabbix
[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_agentd
4.5、启动zabbix客户端
[root@iZ2zegql6fupnhn8aei0bgZ init.d]# servicezabbix_agentd start
Starting zabbix_agentd (via systemctl): [ OK ]
五、安装windows客户端
安装windows的客户端和linux客户端是一样的同上,目前不出文档
六、使用zabbix
5.1、创建一个监控主机
附录
1、、利用phpize在生产环境中为php添加新的扩展php-bcmath
在日常的开发当中,随着开发的功能越来越复杂。对运行环境的要求也就随着需求的变化需要不断地更新和变化。一个在线的生产系统不可能一开始就满足了所有的运行依赖,因此动态地添加依赖就显得比较必要了。如果你的应用是基于lanmp的话,那么很有可能某天需要添加一个apache的扩展或者php的扩展。此次记录一下如何添加一个php的扩展。由于需要接入银联的接口,而查看了下运行环境,发现缺少了高精度运算的扩展php-bcmath。
因此此处需要用phpize进行安装新的php扩展php-bcmath
1、安装php-bcmath扩展
# cd /root/php-7.1.2/ext/bcmath
# /usr/local/php/bin/phpize
# ./configure --enable-bcmath--with-php-config=/usr/local/php/bin/php-config
# make
# make install
安装好以后可以看到bcmath.so的安装目录为
2、将bcmath.so扩展添加到php.ini
编辑/usr/local/php/etc/php.ini
# vim/usr/local/php/etc/php.ini
添加如下内容:
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303//bcmath.so"
3、重启服务
# service nginx restart
4、phpinfo()检查是否安装成功
创建文件phpinfo_test.php
<?php
phpinfo()
?>
在浏览器中运行http://你的域名/phpinfo_test.php
如果安装成功,你可以找到这样的结果项
以上是关于ZABBIX部署总结篇的主要内容,如果未能解决你的问题,请参考以下文章