Zabbix:zabbix-3.0.1server/agent
2. 配置环境
发现本地网络172.19.200.1-254,Check:ICMP ping,如下:
2
ICMP ping方式下,UP状态的主机添加到"Discovery hosts"组,如下:
END
自动发现失效
1. 现象
在自动发现的discovery与action流程配置正确的前提下,等待10分钟观察,自动发现功能并不生效。
2. 定位故障
#发现有"找不到/usr/sbin/fping文件"的信息记录。
[root@localhost ~]# vim /tmp/zabbix_server.log
1412:20160621:110040.593 /usr/sbin/fping: [2] No such file or directory
3. 故障分析
"ICMP ping"的check方式,使用/usr/sbin/fping命令检测状态,如果系统没有安装或fping命令执行路径有误,则check方式不能发现设备,自动发现功能失效。
安装配置fping
1. 安装fping
#fping相对ping,可以同时ping多个目标并且有多种统计输出格式,#fping目前只能通过编译的方式安装。
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget http://www.fping.org/dist/fping-3.13.tar.gz
[root@localhost src]# tar -zxvf fping-3.13.tar.gz
[root@localhost src]# cd fping-3.13
[root@localhost fping-3.13]# ./configure
[root@localhost fping-3.13]# make &&make install
2. 配置fping执行路径
#zabbix_server配置文件中默认fping的执行路径被注释掉了,此时默认路径就为:/usr/sbin/fping
#可以配置fping的执行路径,如下:
[root@localhost ~]# sed -i 's|# FpingLocation=/usr/sbin/fping|FpingLocation=/usr/local/sbin/fping|g' /usr/local/zabbix/etc/zabbix_server.conf
#或者不修改 zabbix_server.conf文件,使用软连接ln -s /usr/local/sbin/fping /usr/sbin/fping
配置fping权限
#fping必须由root用户执行,如果非root账号执行fping,查看zabbix_server日志会有如下报警信息:
#21822:20160621:151232.024 fping failed: (null): can't create socket (must run as root?) : Permission denied
8
#如果是root账号安装的fping,可以不用修改owner
#但zabbix_server是使用zabbix账号调用命令的,可以为fping设置SUID权限,如下:
[root@localhost ~]# chown root:root /usr/local/sbin/fping[root@localhost ~]# chmod u+s /usr/local/sbin/fping
9
1. 验证Discovery
Monitoring-->Discovery-->Discovery rule,选择"Local network"(创建discovery时的name),如下:
方法/步骤安装开发软件包yum-ygroupinstall"DevelopmentTools"安装所需的依赖包yum-yinstallhttpdmysqlmysql-serverphpphp-mysqlphp-commonphp-mbstringphp-gdphp-odbcphp-pearcurlcurl-develnet-snmpnet-snmp-develperl-DBIphp-xmlntpdatephp-bcmath同步服务端的时间,保持所有服务器时间一致避免出现时间不同导致的不可用的监控数据ntpdatepool.ntp.rog创建zabbix服务运行所需要的用户和组groupadd-g201zabbixuseradd-gzabbix-u201-mzabbix初始化mysql服务器/etc/init.d/mysqldstart创建zabbix运行所需要的数据库及用户权限mysqladmin-uroot-h127.0.0.1password"123456"mysql-uroot-h127.0.0.1-pcreatedatabasezabbixcharactersetutf8grantallprivilegesonzabbix.*tozabbixuser@'%'identifiedby'zabbixpass'flushprivileges根据系统要求从官网下载解压zabbixcd/usr/src/tarxfzabbix-2.2.2.tar.gz将zabbix的初始数据导入到数据库中cdzabbix-2.2.2mysql-uzabbixuser-h192.168.239.130-pzabbixDocumentRoot"/var/www/html"ServerName192.168.239.130配置zabbixserver端的文件,定义数据库的IP、用户名、密码vim/etc/zabbix/zabbix_server.confDBHost=192.168.239.130DBName=zabbixDBUser=zabbixuserDBPassword=zabbixpassStartPollers=30#开启多线程数,一般不要超过30个StartTrappers=20#trapper线程数StartPingers=10#fping线程数StartDiscoverers=120MaxHousekeeperDelete=5000CacheSize=1024M#用来保存监控数据的缓存数,根据监控主机的数量适当调整StartDBSyncers=8#数据库同步时间HistoryCacheSize=1024MTrendCacheSize=128M#总趋势缓存大小HistoryTextCacheSize=512MAlertScriptsPath=/etc/zabbix/alertscriptsLogSlowQueries=1000启动apache服务跟zabbix服务/etc/init.d/httpdstart/etc/init.d/zabbix_serverstart访问安装界面按照界面提示一步一步的完成安装/zabbix/conf/zabbix.conf.php手动定义相关的参数即可进入登录界面点击登录,默认adminzabbix#至此,server端的安装完成Agent端安装开发软件包yum-ygroupinstall"DevelopmentTools"yum–yinstallntpdate同步客户端时间,防止跟服务器端不一致,导致检测到不可用的监控数据ntpdatepool.ntp.org创建zabbix运行所需要的用户跟组groupadd-g201zabbixuseradd-gzabbix-u201-mzabbix解压安装zabbixagent端cd/usr/src/tarxfzabbix-2.2.2.tar.gzcdzabbix-2.2.2./configure–sysconfdir=/etc/zabbix–enable-agentmake&&makeinstallcopyagent端运行所需要的脚本cpmisc/init.d/tru64/zabbix_agentd/etc/init.d/chmod+x/etc/init.d/zabbix_agentd配置agent端配置文件vim/etc/zabbix/zabbix_agentd.conf#此处千万别写成了zabbix_agent.conf,否则配置了不生效Server=192.168.239.130#填写Server的IP地址ServerActive=192.168.239.130#修改为Server的IP地址Hostname=Centos-03#填写本机的HostName,注意Server端要能解析UnsafeUserParameters=1#是否允许自定义的key,1为允许,0为不允许Include=/etc/zabbix/zabbix_agentd.conf.d/#自定义的agentd配置文件(key)可以在这里面写;启动zabbixagent端/etc/init.d/zabbix_agentdstartEND注意事项PHPbcmathextensionmissing,phpconfigurationparameter--enable-bcmath解决方法:yuminstall*bcmath*--skip-broken然后在/etc/php.ini文件里,添加:extension=bcmath.so第一部分,php\nginx\mysql组件安装1,php-cgi
zabbix的web前端是用php写成的,需要php来运行
view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get update
2 jcwu@ubuntu:~$ sudo apt-get install php5-cgi
3 jcwu@ubuntu:~$ sudo useradd www #php运行用户
php-cgi控制脚本
view sourceprint?01 jcwu@ubuntu:~$ cat /etc/init.d/php-fcgi
02 #!/bin/bash
03
04 BIND=127.0.0.1:9000
05 USER=www
06 PHP_FCGI_CHILDREN=15
07 PHP_FCGI_MAX_REQUESTS=1000
08 PHP_CGI=/usr/bin/php-cgi
09 PHP_CGI_NAME=`basename $PHP_CGI`
10 PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
11 RETVAL=0
12
13 start() {
14 echo -n "Starting PHP FastCGI: "
15 start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
16 RETVAL=$?
17 echo "$PHP_CGI_NAME."
18 }
19 stop() {
20 echo -n "Stopping PHP FastCGI: "
21 killall -q -w -u $USER $PHP_CGI
22 RETVAL=$?
23 echo "$PHP_CGI_NAME."
24 }
25
26 case "$1" in
27 start)
28 start
29
30 stop)
31 stop
32
33 restart)
34 stop
35 start
36
37 *)
38 echo "Usage: php-fastcgi {start|stop|restart}"
39 exit 1
40
41 esac
42 exit $RETVAL
43
44 jcwu@ubuntu:~$ sudo update-rc.d php-fcgi defaults #添加至系统启动项
2,nginx
参考http://wiki.nginx.org/Install
view sourceprint?01 jcwu@ubuntu:~$sudo vi /etc/apt/source.list
02 #在文件尾添加以下2行
03 deb http://nginx.org/packages/ubuntu/ lucid nginx
04 deb-src http://nginx.org/packages/ubuntu/ lucid nginx
05 #############官方文档中如下#######################################
06 su -s
07 nginx=stable # use nginx=development for latest development version
08 add-apt-repository ppa:nginx/$nginx
09 # add-apt-repository 安装命令为 apt-get install python-software-properties
10 apt-get update
11 apt-get install nginx
12 #############我的安装命令########################################
13 jcwu@ubuntu:~$ sudo apt-get update
14 jcwu@ubuntu:~$ sudo apt-get install nginx
设置php-cgi
view sourceprint?1 sudo vi /etc/nginx/conf.d/default.conf
将root html提前到server_name下面
将location /中的index 指令后加上index.php
设置php解析
view sourceprint?01 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
02 #
03 location ~ \.php$ {
04 root html
05 fastcgi_pass 127.0.0.1:9000
06 fastcgi_index index.php
07 #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name
08 #fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name
09 fastcgi_param SCRIPT_FILENAME/usr/share/nginx/html$fastcgi_script_name
10 includefastcgi_params
11 }
测试
view sourceprint?1 sudo vi /usr/share/nginx/html/info.php
2 #添加
3 <!--?php phpinfo()?-->
4 #然后reload nginx
5 sudo kill -HUP $(cat /var/run/nginx.pid)
在浏览器中打开http://192.168.1.115/info.php
这样就OK了
3,mysql
用来存储监控数据,这里可以选很多种db2、mysql、oracle、postgresql、sqlite
view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get install mysql-server
第二部分,zabbix编译安装和web前面配置
0-准备工作
view sourceprint?1 #安装编译套件
2 sudo apt-get install build-essential
3 #安装php前端需要的包
4 sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql
5 #安装zabbix需要的包,snmp\curl\ssl\fping
6 sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
1-添加用户,并添加到admin用户组
view sourceprint?1 sudo adduser zabbix
2 sudo adduser zabbix admin
2-获取zabbix 1.8.11 源码包,并解压
view sourceprint?1 cd /usr/src &&wget http //prdownloads sourceforge net/zabbix/zabbix-1.8.11.tar.gz?download
2 sudo mv zabbix-1.8.11.tar.gz?download zabbix-1.8.11.tar.gz
3 tar xvf zabbix-1.8.11.tar.gz
3-mysql数据库初始化
view sourceprint?1 mysql -uroot -p -e"create database zabbix"
2 mysql -uroot -p -e"grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'"
3 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/schema/mysql.sql
4 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/data/data.sql
5 mysql -D zabbix -uzabbix -pzabbix <zabbix-1.8.11/create/data/images_mysql.sql
4-编译安装
view sourceprint?1 cd zabbix-1.8.11/
2 ./configure --prefix=/usr/local --with-mysql --with-net-snmp \
3 --with-libcurl --enable-server --enable-agent &&\
4 make
5 sudo make install
6 #--with-net-snmp是启用SNMP协议
7 #--with-libcurl是监控web网站用的
8 #--enable-server只可在服务端上使用
9 #其它还有IPMI等,参阅./configure --help
5-系统其它设置
view sourceprint?1 sudo vi /etc/services
2 #添加
3 zabbix_agent 10050/tcp # Zabbix ports
4 zabbix_trap 10051/tcp
6-设置zabbix配置文件目录
view sourceprint?1 sudo mkdir /etc/zabbix
2 sudo chown -R zabbix.zabbix /etc/zabbix/
3 cp misc/conf/zabbix_* /etc/zabbix/
修改配置文件zabbix_server.conf
view sourceprint?1 vi /etc/zabbix/zabbix_server.conf
搜索DBUser DBPassword这两个关键字,替换为前面mysqlDB中设置的用户和密码(这里都是zabbix\zabbix)
7-设置zabbix开机启动
view sourceprint?1 sudo cp misc/init.d/debian/zabbix-server /etc/init.d
2 sudo cp misc/init.d/debian/zabbix-agent /etc/init.d
3 cd !$
4 sudo chmod 755 zabbix-*
5 sudo update-rc.d zabbix-server defaults
6 sudo update-rc.d zabbix-agent defaults
其实misc/init.d/ubuntu/下面还有2个conf配置文件,但这个扔/etc/init.d里来启动zabbix会报错
8-zabbix web界面安装设置
view sourceprint?1 sudo mkdir /usr/share/nginx/html/zabbix/
2 cd /usr/src/zabbix-1.8.11/frontends/ &&sudo cp -r php /usr/share/nginx/html/zabbix
在浏览器中打开http://192.168.1.115/zabbix开始web界面的setup
这里有2个重要的地方,一是 zabbix会检查php的设置
如下图,图中标红的是默认需要修改的参数,php的设置文件为/etc/php5/cgi/php.ini
改完后记得
view sourceprint?1 sudo service php-fcgi restart
二是mysql db的设置
最后,要手动将生成的设置文件zabbix.conf.php上传到/usr/share/nginx/html/zabbix/conf
gnome终端对rz支持不好,我就不上传了,而是直接将下载的zabbix.conf.php的内容进行Ctl+C,直接在服务器上vi zabbix.conf.php然后再Shift+Insert粘贴进去
然后再点几个Next.就安装完了
zabbix默认用户是admin,密码是zabbix,登陆后一定要修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)