zabbix的安装和配置
一、zabbix介绍
1、zabbix基本信息
zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证[服务器系统](https://baike.so.com/doc/5662973-5875629.html)的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,[数据收集](https://baike.so.com/doc/5376520-5612640.html)等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
2、zabbix特点和功能
(1)zabbix的特点
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能等等
(2)Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视。
二、zabbix安装
1、zabbix基本环境
查看上一次的LNMP环境快速搭建 + Wiki部署
编程zabbix需要的基本环境包含 nginx、mysql、php
搭建一个zabbix运行的环境(lnmp)
nginx和mysql跟之前一样 唯一有区别的就是PHP
注意PHP里面需要安装一个这个mysqli.so模块 如果没安装成功PHP不能连接成功
(1)安装PHP
将安装包安装到opt文件夹内
[root@vagrant-centos65 ~]# cd /opt/
通过wget命令下载php-5.6.2
[root@vagrant-centos65 opt]# wget http://cn2.php.net/distributions/php-5.6.2.tar.gz
解压下载的php压缩包
[root@vagrant-centos65 opt]# tar xvf php-5.6.2.tar.gz
跳转到解压的php包中
[root@vagrant-centos65 opt]# cd php-5.6.2
对一些模块进行安装相对于上一个LNMP中的PHP的安装这里多了–with-mysqli
[root@vagrant-centos65 php-5.6.2]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --with-openssl --enable-bcmath --enable-sockets --with-mysqli --with-gettext
[root@vagrant-centos65 php-5.6.2]# make && make test && make install
复制配置文件
[root@vagrant-centos65 php-5.6.2]# cp php.ini-production /usr/local/php/etc/php.ini
复制php启动配置文件
[root@vagrant-centos65 php-5.6.2]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
启动php
[root@vagrant-centos65 php-5.6.2]# cp /opt/php-5.6.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
(2)授权 php-fpm
[root@vagrant-centos65 php-5.6.2]# cd /etc/init.d/
[root@vagrant-centos65 init.d]# chmod 755 php-fpm
(3)修改 php-fpm.conf 文件
在文件的第 148 行,修改文件内容如下:
148 user = php-fpm
149 group = php-fpm
修改为
148 user = nginx
149 group = nginx
2、zabbix后端搭建
(1)下载zabbix源码
wget https://dronedata.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.4/zabbix-3.2.4.tar.gz
zabbix添加yum源
yum install zabbix-server-mysql zabbix-web-mysql
(2)创建用户账号
对于所有的zabbix守护进程,需要一个非特权用户,如果zabbix守护进程重非特权用户启动,那么它将作为该用户运行
如果守护进程从root账号启动,那么它会切换到zabbix用户,所有找个账号必须存在 手动创建
#添加组和添加用户
groupadd zabbix
useradd -g zabbix zabbix
(3)创建zabbix数据库
注意:如果没有mysql数据库的话请看上一章搭建LNMP环境 安装mysql数据库
①进入安装目录
cd /opt/zabbix-3.2.4
②进入mysql编辑
mysql -uroot -p'123456'
③创建zabbix数据库,并把字符格式设置为utf8
create databse zabbix character set uft8 collate utf8_bin;
④grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
⑤刷新退出
flush privileges;
exit;
⑥将数据库表导入到zabbix数据库中,sql文件可以用find命令查找到
mysql -uzabbix -p'zabbix' zabbix < schema.sql
mysql -uzabbix -p'zabbix' zabbix < images.sql
mysql -uzabbix -p'zabbix' zabbix < data.sql
(4)编译zabbix
①安装依赖包
yum -y install libxml2* snmp* net-snmp* curl* php-mysql
②开始配置zabbix(我在这里安装了server和agent)
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
③开始安装
# 如果出现提示make install ,那么安装成功直接 make install
[root@vagrant-centos65 zabbix-3.2.4]# make install
④修改zabbix服务器的mysql配置
[root@vagrant-centos65 zabbix-3.2.4]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
启动后端
/usr/local/sbin/zabbix_server
/usr/local/sbin/zabbix_agentd
3、安装web端
(1)清除nginx html文件夹中的文件
清除的目的是为了以防文件拷入后有冲突,如本来就存在项目就不用再删除
rm -rf /usr/share/nginx/html/*
(2)拷贝文件到前端页面
注意:如html文件夹内本来就存在文件,可能会有冲突,建议进行一操作。
cp -rf /opt/zabbix-3.2.4/frontends/php/* /usr/share/nginx/html
(3)修改配置文件
[root@vagrant-centos65 ~]# vim /usr/local/php/etc/php.ini
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 always_populate_raw_post_data -1
date.timezone = "Asia/Shanghai"
(4)前端配置
直接访问 http://IP,然后按照提示进行配置
注意生成/data/htdocs/www/conf/zabbix.conf.php会有一点问题 需要手动复制一个 并把密码填进去
三、zabbix注意
1、初始账号
用户名:Admin
密码:zabbix