标签:zabbix
1、保障企业的数据的安全可靠
2、为客户提供7*24小时服务
3、不断提升用户的体验
路人甲:大神,我们需要监控什么?
我:你想监控什么!
1. 硬盘监控:适用于物理机,远程管理卡(IDRAC),IPMO(智能平台管理接口)ipmitool,MegaCli(查看Raid磁盘)
2.系统监控:cpu(lscpu、uptime、top、vmstat1、mpstat1、htop),内存(free -m),硬盘(df -h、iotop),网络(iftop、netstat、ss)
3.应用服务监控:nfs、mysql、nginx、apache、php、rsync
4.性能监控
5.日志监控:系统日志(安全日志secure message sudo 日志)、服务日志(错误日志error,访问日志)
6.安全监控
7.业务监控
举些监控命令的栗子:
top
> 向右移动一位排序
1
lscpu
vmstat 1
htop
vmstat 1
mpstat 1
wget -O /etc/yum.repos.d/epel.repo
所有监控范畴,都可以整合到Zabbix中
硬件监控:Zabbix IPMIInterface
系统监控:Zabbix AgentInterface
Java监控:Zabbix JMX Interface
网络设备监控:Zabbix SNMPInterface
应用服务监控:ZabbixAgent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web监控
官网:http://www.zabbix.com/
zabbix是一个基于web界面的,提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix主要由2部分构成zabbix server和zabbix agent,可选组件zabbix proxy
zabbix server可以通过SNMP,zabbix agent,fping,端口监视等方法对远程服务器或网络状态完成监视,数据收集功能。
支持Linux及类Unix平台,Windows平台只能安装客户端。
[root@zb01 /]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@zb01 /]# uname -r
2.6.32-573.el6.x86_64
[root@zb01 /]# uname -m
x86_64
[root@zb01 /]# /etc/init.d/iptables stop
[root@zb01 /]# getenforce
Disabled
yum -y install pcre-devel openssl-develncurses-devel zlib-devel libxml2-devel libjpeg-devel freetype-devellibpng-devel gd-devel curl-devel libxslt-devel libmcrypt-devel mhashmhash-devel mcrypt
rpm -ivh --aid *.rpm
echo "192.168.14.200 mirrors.aliyun.com" >>/etc/hosts
yum -y install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel java-devel
useradd zabbix -s /sbin/nologin
mkdir -p /application/tools
cd /application/tools
rz
tar xf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
./configure --prefix=/application/zabbix-3.0.3 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl
make install
ln -s /application/zabbix-3.0.3 /application/zabbix
##################假如报这个错误:
configure:error: Not found mysqlclient library
这是由于没有指定mysql的路径导致的,yum安装或者编译安装就不会有这样的问题,主要是张导的/初始目录在/application/tools下,我们的在/home/oldboy/tools下
####################################
./configure --prefix=/application/zabbix-3.0.3 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql=/application/mysql-5.5.49/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl
#############################################
[root@zb01 /]# mysql -uroot -poldboy123
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 209
Server version: 5.5.49 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or itsaffiliates. All rights reserved.
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarks of theirrespective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all on zabbix.* to zabbix@‘127.0.0.1‘ identified by ‘zabbix‘;
mysql> flush privileges;
data.sql #数据,最后导入
images.sql #图形,其次导入
schema.sql #表结构,首先导入
/home/oldboy/tools/zabbix-3.0.3/database/mysql
在mysql中操作
use zabbix
source /home/oldboy/tools/zabbix-3.0.3/database/mysql/schema.sql
source /home/oldboy/tools/zabbix-3.0.3/database/mysql/images.sql
source /home/oldboy/tools/zabbix-3.0.3/database/mysql/data.sql
show tables from zabbix;
#########################################
use zabbix
source /application/tools/zabbix-3.0.3/database/mysql/schema.sql
source/application/tools/zabbix-3.0.3/database/mysql/images.sql
source/application/tools/zabbix-3.0.3/database/mysql/data.sql
show tables from zabbix;
###################################################
mkdir -p /application/nginx/html/zabbix
cp -a /home/oldboy/tools/zabbix-3.0.3/frontends/php/* /application/nginx/html/zabbix/
chown -R nginx /application/nginx/html/zabbix/
egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /application/php/lib/php.ini
sed -i ‘s#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai‘ /application/php/lib/php.ini
/etc/init.d/php-fpm restart
没有这个脚本就
killall php
/application/php/sbin/php-fpm
# 执行命令前注意备份你的Nginx配置文件!!
cat >/application/nginx/conf/nginx.conf<<EOF
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root html;
location / {
root html;
index index.php index.html index.htm;
}
location ~ .*\.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
access_log logs/zabbix.log;
}
}
EOF
/etc/init.d/nginx reload
sed -i -e ‘77a DBHost=127.0.0.1‘ -e ‘111a DBPassword=zabbix‘ /application/zabbix/etc/zabbix_server.conf
# 启动脚本
cp /home/oldboy/tools/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_{server,agentd} /etc/init.d/
[root@oldboyedu ~]# ll -h /etc/init.d/zabbix_*
-rwxr-xr-x 1 root root 2.2K 5月 20 19:29 /etc/init.d/zabbix_agentd
-rwxr-xr-x 1 root root 2.2K 5月 20 19:29 /etc/init.d/zabbix_server
# 修改启动脚本
sed -i ‘s#BASEDIR=/usr/local#BASEDIR=/application/zabbix#‘ /etc/init.d/zabbix_{server,agentd}
[root@oldboyedu ~]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@oldboyedu ~]# /etc/init.d/zabbix_server start
Starting zabbix_server: [确定]
http://10.0.0.25/zabbix/setup.php
会发现没有mysql和gettext模块
cd /home/oldboy/tools/php-5.5.32/ext/gettext
/application/php/bin/phpize
./configure--with-php-config=/application/php/bin/php-config
make && make install
echo " extension = gettext.so">>/application/php/lib/php.ini
/application/php/bin/php -m|grep gettext
/application/php/bin/php -m|grep mysqli
cd /home/oldboy/tools/php-5.5.32/ext/mysqli
/application/php/bin/phpize
./configure--with-php-config=/application/php/bin/php-config
make && make install
echo " extension = mysqli.so">>/application/php/lib/php.ini
killall php-fpm
/application/php/sbin/php-fpm
操作完毕后回到网页,刷新
第一项多出了MySQL,第二项也OK了。搞定,继续下一步
排错方法看服务是否运行和查看日志:
/etc/init.d/zabbix_server status
tailf /tmp/zabbix_server.log
假如手贱不跟老师后面设置密码,就可能会报这个错误
36269:20160603:171259.995 cannot set MySQL character set to "utf8"
36269:20160603:171259.995 database is down: reconnecting in 10 seconds
36269:20160603:171309.996 [Z3001] connection to database ‘zabbix‘ failed: [1045] Access denied for user ‘zabbix‘@‘localhost‘ (using password: YES)
可能是sed替换的时候没有替换对
本机编译安装的时候已经开启了zabbix客户端功能。如果是其他新添加主机(CentOS6或7系统)不需要编译安装那么麻烦,直接使用官网的rpm就可以了,或者自己编译一个客户端然后定制rpm包即可。
##vim /application/zabbix/etc/zabbix_agentd.conf
/etc/init.d/zabbix_agentd start
选择配置→主机然后找到zabbix server,点击停用的 状态,使其变为启用的。静待片刻后面可用性第一个ZBX会亮起绿灯,假如不亮点下过滤或者刷新即可.
CentOS6:rpm -ivhhttp://repo.zabbix.com/zabbix/3.0/rhe1/6/x86_64/zabbix-release-3.0-1.e17.noarch.rpm
CentOS7: rpm -ivhhttp://repo.zabbix.com/zabbix/3.0/rhe1/7/x86_64/zabbix-release-3.0-1.e17.noarch.rpm
如果上述站点打不开,可以使用http://mirrors.aliyun.com/zabbix/zabbix/
wget http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.3-1.el6.x86_64.rpm
yum localinstallzabbix-agent-3.0.3-1.e16.x86_64.rpm
rpm -ivh zabbix-agent-3.0.3-1.el6.x86_64.rpm
vim/etc/zabbix/zabbix_agentd.conf
Server=服务端的ip (约95行)
/etc/init.d/zabbix-agentstart
添加后等待一段时间后可看到
服务端操作
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /application/nginx/html/zabbix/fonts/DejaVuSans.ttf
web01客户端执行
sed -i ‘293a UserParameter=login-user,who|wc -l‘/etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent restart
服务端操作
/application/zabbix/bin/zabbix_get --help
/application/zabbix/bin/zabbix_get -s 10.0.0.8 -p 10050 -k"login-user"
此处的IP地址填写的是服务端的IP地址
10.0.0.8 客户端
login-user 值
-p 端口
-k 值
选择监测中---图形---群组Web Server---主机LNMP----图形:登录用户数量趋势
开启多个用户登录。。。。
1、Email 在zabbix2.x不支持认证邮箱,只能本机开启sendmail或Postfix发送邮件;在zabbix3.x开始支持认证邮箱
2、jabber 一个开源即时通信软件,jabber有第三方插件,能让jbber用户和MSN、YahooMessager、IQC等IM用户互相通讯。因为Google遵从jabber协议,并且Google已经将Gtalk的服务器开放给了其他的jabber服务。所以PSI、Giam等Jabber客户端软件支持GTalk用户登录。国内基本没人使用
3、SMS 短信猫
4、Ez Texting 给用户手机发短信,貌似只支持美国和加拿大
5、Scripts 自定义脚本,把信息传递给脚本,我们在脚本里使用mail、飞信发短信、调用短信接口发送短信等等
但是在zabbix3.0中使用自带的email功能还是坑!因此我们还是使用老方法-写脚本
[root@zb01 mysqli]# tail -2 /etc/mail.rc
#yxy mail
set from= xxxxxxxxx@126.com smtp=smtp.126.com smtp-auth-user= xxxxxxxxxsmtp-auth-password=xxxxxxxxx smtp-auth=login
程序会传给脚本3个参数,收件人,邮件标题,邮件主题,系统要有dos2unix、mail命令。
没有就yum install -y dos2unix mail
cd /application/zabbix/share/zabbix/alertscripts/
[root@oldboyedu alertscripts]# vim email.sh
#!/bin/bash
email_File=/tmp/email.log
function main(){
echo "$3" >$email_File
/usr/bin/dos2unix $email_File
/bin/mail -s "$2" "$1" <$email_File
main "$1" "$2" "$3"
}
为了避免测试时候的垃圾邮件,可以先创建一个模拟脚本用来测试
echo ‘echo "$1" "$2" "$3" >/tmp/email.log‘ >email.sh
chmod +x email.sh
添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。
测试:
tail -F /tmp/email.log
如果不成功需要,或者检查其他错误
默认/tmp/email.log不存在,但是使用tail -F 是可以获取的
chown zabbix.zabbix /tmp/email.log
[root@zb01 tmp]# tail -F /tmp/email.log
tail: cannot open `/tmp/email.log‘ for reading: Nosuch file or directory
tail: `/tmp/email.log‘ has become accessible
385977076@qq.com PROBLEM: μó§31y3 Trigger:μó§31y3
Trigger status: PROBLEM
Trigger severity: Average
Trigger URL:
Item values:
1. μó§êyá (LNMP:login-user): 5
2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
Original event ID: 104
tail: /tmp/email.log: file truncated
Original event ID: 104
开启多个用户登录:
会检测到报警
标签:zabbix
原文地址:http://11266103.blog.51cto.com/11256103/1788516