迫于上级剥削压榨无奈部署此程序,最后还是对SuSE说FUCK YOU !!!
Zabbix3.4.8监控部署
Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。
今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控移动理赔项目组涉及的所有生产服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。
首先,我们先来介绍下Zabblx:
一、Zabbix监控系统简介
二、Zabbix监控部署
二(1)LAMP环境搭建
二(2)Zabbix_server部署
二(3)Zabbix_agent部署
三、Zabbix监控应用
一、Zabbix监控系统简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部分组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器运行及网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor
二、Zabbix监控部署
Ps:SuSe系统安装需要大量的依赖包,建议编译安装
二(1)LAMP环境搭建
一、Mysql安装
1、因为mysql5以后编译都是用cmake,所以要先安装cmake
解压cmake安装包:
tar -zxvf cmake-2.8.9.tar.gz
进入解压出来的目录
cd cmake-2.8.9
编译安装:
./configure
make && make install
2、添加mysql用户和组
创建mysql组:
groupadd mysql
创建mysql用户,并用-m创建home目录
useradd -m -g mysql mysql
3、创建安装目录:mysql将安装到/USR/LOCAL/MYSQL5下
mkdir -p /usr/local/mysql5/data
mkdir -p /usr/local/mysql5/log
-----修改目录属主和组
chown -R mysql:mysql /usr/local/mysql5
4、解压安装mysql:
tar -zxvf mysql-5.6.15.tar.gz
进入解压目录,编译安装:
cd /mysql-5.6.15
cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/data \
-DFEATURE_SET=community \
-DENABLED_PROFILING=ON \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_TCP_PORT=3306\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_SSL=bundled \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_DEBUG=ON \
-DENABLE_DOWNLOADS=0
make -j4 && make install (-j4 指定编译cpu数,加快速度,可以不加)
5、Mysql 配置
配置环境变量:vim /etc/profile
PATH=/usr/local/mysql/bin/:$PATH
export PATH
source /etc/profile
6、初始化数据库并启动
/usr/local/mysql #chown -R mysql:mysql .
/usr/local/mysql # ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql5/ --datadir=/data/
/usr/local/mysql # cp support-files/mysql.server /etc/init.d/mysql
/usr/local/mysql # cp support-files/my-default.cnf /etc/my.cnf
/usr/local/mysql # chkconfig --add mysql
/usr/local/mysql # chkconfig mysql on
/usr/local/mysql # service mysql start
/usr/local/mysql # mysqladmin -uroot password 'mysql123'
/usr/local/mysql # mysql -uroot -pmysql123
跳过密码登录:
/usr/local/mysql # vim /etc/my.cnf
skip-grant-table
重启mysql即可
/usr/local/mysql # service mysql restart
修改密码:
/usr/local/mysql #mysql
mysql> update mysql.user set password=password("456") where
user="root" and host="localhost";
mysql> flush privileges;
mysql> \q
二、 apache2 安装
SUSE 11 自带安装apache2,如果安装了,请卸载:
linux-1z88:/home/jie # zypper rm apache
2.1安装安装APR apr-1.4.6.tar.gz
1.#tar -zxf apr-1.4.6.tar.gz
2.#./configure --prefix=/usr/local/services/apr
3.#make
4.#make install
2.2安装APR-util apr-util-1.4.1.tar.gz
1.#tar -zxf apr-util-1.4.1.tar.gz
2.#./configure --prefix=/usr/local/services/apr-util --with-apr=/usr/local/services/apr/bin/apr-1-config
3.#make
4.#make install
2.3安装PCRE pcre-8.30.tar.gz
1.#tar -zxvf pcre-8.30.zip
2.#./configure --prefix=/usr/local/services/pcre
3.#make
4.#make install
2.4 安装Apache2 httpd-2.4.2.tar.gz
1.#tar -zvxf httpd-2.4.2.tar.gz
2.#./configure --prefix=/usr/local/services/apache2 --with-apr=/usr/local/services/apr/ --with-apr-util=/usr/local/services/apr-util/ --with-pcre=/usr/local/services/pcre/
3.#make
4.#make install
2.5 apache配置
/usr/local/services/apache2/conf # vi httpd.conf
添加servername: ServerName localhost:80
添加环境变量:
vi /etc/profile
添加:PATH=$PATH:/usr/local/services/apache2/bin/; export PATH
EXPORT PATH=$PATH:/usr/local/services/apache2/bin/
生效环境变量:source /etc/profile
启动apache: apachectl start
三、php安装配置
SUSE 11 自带安装php,如果安装了,请卸载:
linux-1z88:/home/jie # zypper rm php
3.1安装JPEG6 jpegsrc.v6b.tar.gz
1.# mkdir -p /usr/local/services/jpeg6
2.# mkdir -p /usr/local/services/jpeg6/bin
3.# mkdir -p /usr/local/services/jpeg6/lib
4.# mkdir -p /usr/local/services/jpeg6/include
5.# mkdir -p /usr/local/services/jpeg6/man
6.# mkdir -p /usr/local/services/jpeg6/man1
7.# mkdir -p /usr/local/services/jpeg6/man/man1
8.# tar -zvxf jpegsrc.v6b.tar.gz
9.# CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/services/jpeg6/ --enable-shared --enable-static
10.# make
11.# make install
问题:jpeg6 make: ./libtool:命令未找到
解决:拷贝libtool文件到jpeg6安装文件目录
cp /usr/share/libtool/config/config.* ./
3.2 安装Zlib zlib-1.2.5.tar.gz
1.# tar -zxvf zlib-1.2.5.tar.gz
2.# ./configure
3.# make
4.# make install
注:安装zlib不能指定安装路径,后续安装libpng会报找不到zlib的错,解决:进入zlib安装目录,make clean , 然后重新安装
3.3安装LIBpng libpng-1.5.13.tar.bz2
1.# tar -jvxf libpng-1.5.13.tar.bz2
2.# cd libpng-1.5.13
3.# ./configure --prefix=/usr/local/services/libpng/
4.# make
5.# make install
3.4 安装Freetype freetype-2.4.10.tar.gz
1.# tar -zvxf freetype-2.4.10.tar.gz
2.# cd freetype-2.4.10
3.# ./configure --prefix=/usr/local/services/freetype
4.# make
5.# make install
3.5 安装GD GD-2.0.33.tar.gz
1.# tar -zxvf GD-2.0.33.tar.gz
2.#./configure --prefix=/usr/local/services/gd2/ --with-jpeg=/usr/local/services/jpeg6/ --with-png=/usr/local/services/libpng/ --with-zlib --with-freetype=/usr/local/services/freetype
3.# make
4.# make install
问题: 编译GD库时,报错:gd_png.c:15:53: error: png.h: No such file or directory
解决:进入gd安装包, vi gd_png.c
将
#include “png.h”
替换成:
#include “/usr/local/services/libpng/include/png.h”
然后再make就可以了
3.6安装Curl curl-7.19.5.tar.gz
1.# tar -zxvf curl-7.19.4.tar.gz
2.# ./configure --prefix=/usr/local/services/curl
3.# make
4.# make install
3.7安装Libxml libxml2-2.7.7.tar.gz
1.# tar -zxvf libxml2-2.7.7.tar.gz
2.# ./configure --prefix=/usr/local/services/libxml2 --with-zlib=/usr/local/services/zlib/
3.# make
4.# make install
3.8安装PHP php-5.3.10.tar.gz
1.# tar -zxvf php-5.6.36.tar.gz
2.# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-libxml-dir --with-apxs2=/usr/local/apache2.2/bin/apxs --enable-inline-optimization --enable-shared --enable-opcache --enable-fpm --enable-bcmath --enable-soap --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-zip --with-mysql=/usr/local/mysql5/ --enable-mbstring --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gd
拷贝配置文件
cp php.ini-production /usr/local/services/php/lib/php.ini
4.修改php.ini参数,使其符合zabbix的要求:
memory_limit=128M
post_max_size=16M
upload_max_filesize=2M
max_execution_time=300
max_input_time=300
always_populate_raw_post_data = -1
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so
date.timezone= Asia/Shanghai
5.修改Apache2配置httpd.conf
在AddType application/x-gzip .gz .tgz 插入如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
6.进入根目录编辑测试文件: cd /usr/local/services/apache2/htdocs
7.cat > test.php
phpinfo();
?>
8.重启apache apachectl restart
9.测试网页:浏览器输入 localhost/test.php 显示结果:
二(2)Zabbix_server部署
1、创建Zabbix数据库
Mysql> create database zabbix character set utf8;
2、创建zabbix用并赋权
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
3、解压zabbix安装包:
tar -zxvf zabbix-3.4.8.tar.gz
4、导入数据库sql脚本zabbix-3.4.8
/usr/local/Zabbix(自定文件目录)/zabbix-3.4.8/database/mysql ---导入时root密码要为空
mysql -uroot -p zabbix < schema.sql
mysql -uroot -p zabbix < images.sql
mysql -uroot -p zabbix < data.sql
5、创建zabbix 用户组和用户
groupadd zabbix
useradd -m -g zabbix zabbix
passwd zabbix
6、编译安装 prefix=/usr/local/zabbix //---zabbix 安装路径
//----安装server,agent, proxy
进入解压路径 cd zabbix-3.4.8 //---编译zabbix
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
//---安装zabbix
make
make install
---zabbix 配置
修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了
#vim /usr/local/zabbix/etc/zabbix_agentd.conf————(文件路径:/usr/local/zabbix/etc)
修改后内容如下
LogFile=/tmp/zabbix_agentd.log
Server= 10.133.212.150 #监控服务器的IP地址
Hostname= linux-1z88 #监控服务器的hostname
# vim /usr/local/zabbix/etc/zabbix_server.conf
修改后内容如下:
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
--配置环境变量:
vim /etc/profile
添加以下语句: PATH=/usr/local/zabbix/sbin:$PATH:; export PATH
---生效环境变量:
source /etc/profile
---启动zabbix_server
shell> /etc/init.d/zabbix_server start
zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解决方案:
ln –s /usr/local/mysql/lib/libmysqlclient.so.18/lib64/libmysqlclient.so.18
---启动zabbix_agent
shell> /etc/init.d/zabbix_server start
---启动zabbix_proxy(这个暂时用不上)
shell> zabbix_proxy
---配置zabbix 网页接口
1、进入apache2 根目录:
cd /usr/local//apache2/htdocs
2、创建zabbix目录:
mkdir zabbix
3、拷贝文件:
进入原始安装文件:
cd /etc/zabbix/zabbix-3.4.8/frontends/php //进入自定义安装文件目录
Cp /etc/zabbix/zabbix-3.4.8/frontends/php/ /usr/local/apache2/htdocs/zabbix/
---配置zabbix目录访问权限:添加
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
--修改初始化文件:
DirectoryIndex index.php
访问zabbix:
二(3)Zabbix_agent部署
1、上传zabbix至服务器
2、解压
YDCK-APP44:/soft/ # tar -xvf zabbix-3.4.8.tar.gz
3、创建系统用户
useradd zabbix
passwd zabbix
4、安装gcc
略过
5、安装zabbix
YDCK-APP44:/soft/ # cd zabbix-3.4.8/
./configure --prefix=/usr/local/zabbix_agent --enable-agent
#(configure过程中报错pcre,需安装pcre,pcre-devel-7.8-2.18.x86_64.rpm)
make install
6、修改配置文件
vi /etc/services
Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
#以上默认带有
将 /usr/local/zabbix/etc/zabbix_agentd.conf文件中Server改成zabbix server端ip地址
#Zabbix_server地址为10.133.212.150
7、添加zabbix服务命令
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd #拷贝脚本到系统服务目录下
chmod +x /etc/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_agentd on #添加开机启动
vi /etc/rc.d/init.d/zabbix_agentd #编辑服务端配置文件
BASEDIR=/usr/local/zabbix_agent #zabbix安装目录
/etc/init.d/zabbix_agentd start #开启服务
/etc/init.d/zabbix_agentd stop #停止服务
Zabbix监控应用
根据生控的要求每天要对生产服务器进行日常巡检,由于涉及的生产服务器较多,每天人力巡检比较繁琐,所以部署zabbix来实现对生产服务器的监控,节省大量的人力巡检
目前zabbix采用被动模式进行工作,以120s为一个周期,Zabbix Server会向Zabbix Client端发送请求采集信息