参考书籍:ZABBIX从入门到精通v3.0.1 - 运维生存时间(2016)
zabbix是一个企业级、免费开源、分布式的监控工具,监控网络与服务。
特性:数据收集、实时绘图、高级告警配置、历史数据存储、配置简单、网络自主发现、快速web接口、zabbix api、二进制守护进程等
zabbix模块构成:
zabbix_agentd:客户端进程
zabbix_server:服务器端的进程
zabbix_proxy:代理端进程,用于分布式部署,收集客户端数据后提交给server端
zabbix_get:工具,通常用于拍错,获取被监控的数据
zabbix_sender:通常用户耗时的检查,发送数据给代理端或者服务端
还有个模块用户java有兴趣的可以看看
zabbix的安装:
应用需求:mysql必须是5.0.3以上版本
postgresql必须是8.1以上版本
apache:1.3.12以上版本
php:5.3以上版本
php扩展必须安装模块:gd、bcmath、ctype、libxml、xmlreader、xmlwrite、session、sockets、mbstring、gettext
支持服务器:
openIPMI:IPMI硬件监控
libssh2:支持ssh
fping:icmp监控
liburl:监控web
net-snmp:snmp支持
在安装的时候保证时间正确:ntpdate -u 195.13.1.153
使用LNMP环境
安装 nginx、php、mysql、zabbix
1、安装nginx
安装环境:yum install pcre* -y
yum install gcc-c++ -y
yum install openssl* -y
yum install zlib zlib-devel -y
编译安装
#创建最低执行权限用户
groupadd nginx
useradd -g nginx nginx
# 检查后端客户端健康信息,nginx模块 nginx1.6.1
unzip -o /data/software/master.zippatch -p1 </usr/local/nginx_upstream_check_module-master/check_1.5.12+.patch
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/usr/local/nginx_upstream_check_module-master -with-http_spdy_module
make && make install
运行nginx:/usr/local/nginx/sbin/nginx
ps -ef|grep nginx 与netstat -nat可以明显看nginx运行
2、安装php-5.5.7
安装环境:
yuminstallgccmakegd-devellibjpeg-devellibpng-devellibxml2-develbzip2-devellibcurl-devel-y
安装:
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl \
--enable-ftp --enable-sockets --disable-ipv6 --with-gd \
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local \
--with-freetype-dir=/usr/local --enable-gd-native-ttf \
--with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \
--with-gettext --with-libxml-dir=/usr/local --with-zlib \
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \
-enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath --with-openssl
make && make install
配置:
cp php.ini-production/usr/local/php/etc/php.ini
cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
修改配置文件:php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = PRC
运行php:/usr/local/php/sbin/php-fpm
netstat -tnlp 可以看到php运行端口9000
3、安装mysql
安装环境:
yum install –y autoconf automake imake libxml2-devel\
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql --datadir=/mydata/data
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix/ --enable-server --sysconfdir=/etc/zabbix\
--enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make
make install
DBUser=root
DBPassword=ttlsapwd
DBPort=3306
tar -xzvf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix/ --enable-agent
make
make install
#指向server端,主动发送数据
#指向server端,被动抓取数据
Hostname=Zabbix server
listen 80;#监听端口
server_name zabbix.monitor.com;
access_log /data/logs/nginx/monitor.ttlsa.com.access.log main; #日志文件格式,必须在前面有 log_format main
index index.html index.php index.htm; #文件首页
root /data/site/zabbix.monitor.com; #指定网站根目录
location / #指定访问$uri:请求中的当前URI $args:为请求当中的参数 try_files:相当于rewrite
{
try_files $uri $uri/ /index.php?$args;
}
location ~ ^(.+.php)(.*)$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}