博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix企业应用之服务端与客户端的安装
阅读量:6156 次
发布时间:2019-06-21

本文共 13953 字,大约阅读时间需要 46 分钟。

我这里的监控是使用zabbix,刚开始接触比较费劲,但慢慢的看文档边做边看就好多了,现在回头来看还是zabbix比较好,建议大家可以多看看。

现在来介绍一下zabbix的服务端与客户端的安装

一、服务端的安装(版本是2.0.6)

安装基本依赖包

yum install mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql php-mbstring php-bcmath httpd

关于php与mysql的安装也可以选择源码编译的。

1、下载zabbix包,然后上传到tmp目录,并解压

tar zxvf zabbix-2.0.6.tar.gz

2、创建用户

groupadd zabbixuseradd -g zabbix zabbix

3、创建数据库(使用mysql数据库)、用户与导入表

create database zabbix character set utf8 collate utf8_bin;grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';flush privileges;cd /tmp/zabbix-2.0.6/database/mysql -uzabbix -pzabbix  zabbix 

4、编译安装

cd /tmp/zabbix-2.0.6./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurlmake install

5、配置

cd /usr/local/zabbix/etc/

下面是是我的配置

grep -v '#' zabbix_server.conf|sed '/^$/d'LogFile=/tmp/zabbix_server.logDBName=zabbixDBUser=zabbixDBPassword=zabbixDBSocket=/var/lib/mysql/mysql.sock

6、启动

/usr/local/zabbix/sbin/zabbix_serverps -ef|grep zabbixzabbix   16835     1  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16836 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16837 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16838 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16839 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16840 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16841 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16842 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16843 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16844 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16845 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16846 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16847 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16848 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16849 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16850 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16854 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16855 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16856 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16860 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16861 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16862 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16865 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16866 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16868 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16871 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverzabbix   16873 16835  0 19:34 ?        00:00:00 /usr/local/zabbix/sbin/zabbix_serverroot     16883  3771  0 19:34 pts/1    00:00:00 grep zabbix

7、配置php

sed -i 's/^\(.*\)date.timezone =.*$/date.timezone = Asia\/Shanghai/g' /etc/php.inised -i 's/^\(.*\)post_max_size =.*$/post_max_size = 16M/g' /etc/php.inised -i 's/^\(.*\)max_execution_time =.*$/max_execution_time = 300/g'  /etc/php.inised -i 's/^\(.*\)max_input_time =.*$/max_input_time = 300/g' /etc/php.ini

修改完成后别忘记重启php-fpm

8、复制web interface到www目录

mkdir /var/www/html/zabbixcd /tmp/zabbix-2.0.6/frontends/php/cp -a . /var/www/html/zabbix/

确认好web服务器配置并开启,就输入来进行web的安装

二、web里部署

在web里安装

选择next

1、查看哪个不ok就解决

我这个是全部ok,直接next

2、输入的数据库连接信息

3、测试连接数据库

如果test connection为ok就代表成功

4、输入你的zabbix服务信息

选择next

5、之前操作的汇总

没有问题,选择next

6、先下载这个文件,然后在传到服务器里,给与777权限,修改用户与组为zabbix

然后点击retry

7、没有问题了,选择finish

默认的账户为Admin,密码为zabbix,之后就进入zabbix界面了

二、客户端的安装

客户端分linux与windows,我分别介绍一下。

1、客户端为linux

#!/bin/bashLANG=C###check adapter namezabbix_user='zabbix'zabbix_install_dir='/usr/local/zabbix'zabbix_agent_hostname=$(hostname)zabbix_server_port='10051'zabbix_agent_ip=$(/sbin/ifconfig|grep 'inet addr:'|grep -Ev '127.0.0.1' | cut -d: -f2 | awk '{if ($1~/^10.*/) {print $1} else {print $1}}'|head -n 1)zabbix_agent_header=$(/sbin/ifconfig|grep 'inet addr:'|grep -Ev '127.0.0.1' | cut -d: -f2 | awk '{if ($1~/^10.*/) {print $1} else {print $1}}'|head -n 1|cut -d . -f1)glibc_version=$(/usr/bin/ldd --version|awk 'NR==1{print $NF}'|cut -d . -f2)function server_agent {#check zabbix server ipif [[ $zabbix_agent_header -eq 10 ]] && [[ $(ping -c 2 10.10.10.8 >>/dev/null 2>&1;echo $?) -eq 0 ]];then    zabbix_server_ip='10.10.10.8'else    zabbix_server_ip='111.111.111.149'fi}function proxy_agent {#check zabbix server ipif [[ $zabbix_agent_header -eq 10 ]] && [[ $(ping -c 2 10.10.10.15 >>/dev/null 2>&1;echo $?) -eq 0 ]];then    zabbix_server_ip='10.10.10.15'else    zabbix_server_ip='222.222.222.82'fi}function base {# Check if user is rootif [ $(id -u) != "0" ]; then    echo -e "\033[1;31m Error: You must be root to run this script!\033[0m"    exit 1fi#check networkping -c 2 www.baidu.com >>/dev/null 2>&1if [ $? -ne 0 ];then    echo -e "\033[1;31m Error: The host can't connect to Inetnet!\033[0m"    exit 1fi#check wget softwarewhich wget >>/dev/null 2>&1if [ $? -ne 0 ];then        echo -e "\033[1;31m Error: The wget isn't install,now i will auto install one!\033[0m"    if [ $(grep -i -c "ubuntu" /etc/issue) = 0 ];then        yum install wget -y    else        apt-get install wget -y    fifiwhich wget >>/dev/null 2>&1if [ $? -ne 0 ];then        echo -e "\033[1;31m Error: The wget install fail,please manual install wget!\033[0m"    exit 1fi#create user for zabbixif [ $(grep -i -c "ubuntu" /etc/issue) = 1 ];then        /usr/sbin/useradd $zabbix_user -M -s /usr/sbin/nologinelse        /usr/sbin/useradd $zabbix_user -M -s /sbin/nologinfi#create directory for install zabbix/bin/mkdir $zabbix_install_dirlocal_dir=$(pwd)#check system versionsystem_version=$(uname -m)#check glibc versionif [ $glibc_version -gt 5 ];then    if [ $system_version == 'x86_64' ];then        #download zabbix agent by system version x86_64        wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6_23.amd64.tar.gz        #unpack zabbix agent to /usr/loca/zabbix        tar zxf zabbix_agents_2.0.6.linux2_6_23.amd64.tar.gz -C $zabbix_install_dir    else        #download zabbix agent by system version i686        wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6_23.i386.tar.gz        #unpack zabbix agent to /usr/loca/zabbix        tar zxf zabbix_agents_2.0.6.linux2_6_23.i386.tar.gz -C $zabbix_install_dir    fielse    if [ $system_version == 'x86_64' ];then        #download zabbix agent        wget http://www.zabbix.com/downloads/2.0.3/zabbix_agents_2.0.3.linux2_6.amd64.tar.gz        wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6_23.amd64.tar.gz        #unpack zabbix agent to /usr/loca/zabbix        tar zxf zabbix_agents_2.0.6.linux2_6_23.amd64.tar.gz -C /tmp/        tar zxf zabbix_agents_2.0.3.linux2_6.amd64.tar.gz -C $zabbix_install_dir    else        #download zabbix agent by system version x86_64        wget http://www.zabbix.com/downloads/2.0.3/zabbix_agents_2.0.3.linux2_6.i386.tar.gz        wget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6_23.i386.tar.gz        #unpack zabbix agent to /usr/loca/zabbix        tar zxf zabbix_agents_2.0.6.linux2_6_23.i386.tar.gz -C /tmp/            tar zxf zabbix_agents_2.0.3.linux2_6.i386.tar.gz -C $zabbix_install_dir    fi    mv /tmp/conf $zabbix_install_dirfi#mondiy zabbix agent confcd $zabbix_install_dir/confsed -i 's#Hostname=Zabbix server#Hostname='$zabbix_agent_hostname'#' zabbix_agentd.confsed -i 's@# SourceIP=@SourceIP='$zabbix_agent_ip'@' zabbix_agentd.confsed -i 's#Server=.*#Server='$zabbix_server_ip'#' zabbix_agentd.confsed -i 's#ServerActive=.*#ServerActive='$zabbix_server_ip':'$zabbix_server_port'#' zabbix_agentd.conf#Disable requirettysed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/' /etc/sudoers#add check_lvm.sh contentcat >>$zabbix_install_dir/bin/check_lvm.sh <
>$zabbix_install_dir/conf/zabbix_agentd.conf<
&1 | awk '/STAT \$2 / {print \$NF}'UserParameter=mysql[*],mysql -h 127.0.0.1 -P 3306 -uzabbix -pzabbix -e "show global status"|grep "\<\$1\>"|cut  -f2UserParameter=redis_stats[*],redis-cli -h $zabbix_agent_ip -p \$1 info|grep \$2|cut -d : -f2UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$4}'UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$7}'UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$8}'UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$11}'UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$12}'UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$13}'UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$6}'UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep \$1 | head -1 | awk '{print \$\$10}'UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().\$1" | /usr/bin/mongo admin | grep "\$2"|awk -F: '{print \$\$2}'|awk -F, '{print \$\$1}'UserParameter=check_service_number[*],ps aux|grep "\$1"|grep -v grep|wc -lUserParameter=check_lvm[*],/usr/bin/sudo $zabbix_install_dir/bin/check_lvm.sh \$1EOF#check check_lvm.sh in the /etc/sudoercmd=$(grep check_lvm /etc/sudoers|wc -l)if [ $cmd -eq 0 ];then    echo "zabbix ALL=NOPASSWD:$zabbix_install_dir/bin/check_lvm.sh" >>/etc/sudoersfi#grant 755 to check_lvm.shchmod 755 $zabbix_install_dir/bin/check_lvm.sh#mondiy zabbix install dir userchown -R $zabbix_user:$zabbix_user $zabbix_install_dir#start zabbix agent server$zabbix_install_dir/sbin/zabbix_agentd -c $zabbix_install_dir/conf/zabbix_agentd.conf#insert boot start to start zabbix agent servercheck_rc=$(grep -c "$zabbix_install_dir/sbin/zabbix_agentd -c $zabbix_install_dir/conf/zabbix_agentd.conf" /etc/rc.local)if [ $check_rc -eq 0 ];then    echo "$zabbix_install_dir/sbin/zabbix_agentd -c $zabbix_install_dir/conf/zabbix_agentd.conf">>/etc/rc.localfi#delete rubbishrm -rf $local_dir/zabbix_agents_2.0.3.linux2_6.amd64.tar.gzrm -rf $local_dir/zabbix_agents_2.0.6.linux2_6_23.amd64.tar.gzrm -rf /tmp/binrm -rf /tmp/sbinrm -rf $local_dir/$(basename $0)#check zabbix agent statusif [ $(ps -ef|grep zabbix_agentd|grep -v grep|wc -l) -gt 0 ];then    echo -e "\033[1;32mZabbix agent is start!\033[0m"    exit 0else    echo -e "\033[1;31mZabbix agent is stop!please check!\033[0m"    exit 1fi}case $1 ininstall_server_agent)server_agentbase;;install_proxy_agent)proxy_agentbase;;*)echo "Usage:`basename $0` {install_server_agent|install_proxy_agent}";;esac

其中10.10.10.8为server端口的内网ip,111.111.111.149为server端的ip,这个是server-client直连模式

10.10.10.15为使用proxy模式的proxy内网ip,222.222.222.82为proxy模式proxy的外网ip

注意:如果在redhat或centos系统,请使用shinstall_zabbix_agent.sh module,如果是debian或者ubuntu的话,请使用bash install_zabbix_agent.sh module。

比如你想安装agent直接连接server模式,如果是在centos系统,可以使用shinstall_zabbix_agent.sh install_server_agent,如果在ubuntu里安装可以使用bashinstall_zabbix_agent.sh install_server_agent

同时注意,如果你公司有内网dns并且能在所有zabbix的agent与server里使用的话,那么Hostname填写主机名+域名,如果没有dns,那么就使用ip。

介绍:

本脚本除了能自动化的安装zabbixagent还能实现以下功能:

1、检测当前执行脚本的用户是否为root,如果不为root就退出并提示(此安装脚本需要进行添加监控用户、修改安装目录权限等);

2、现在不需要选择网卡名称,可以自动检测出客户端的ip;

3、可以针对客户端的ip来选择zabbix服务端的ip是走内网监控的还是走外网的ip监控;

4、此脚本均能在centos、redhat、ubuntu系统上运行;

5、此脚本能自动识别本机的glibc版本,如果低于或等于2.5版本,则自动安装zabbixagent的2.03版本(此版本的zabbix agent不要求glibc版本),如果高于2.5版本就安装最新的2.04版本(此版本要求你的glibc大于2.5,如果小于的话就报glibc错误,一般centos6以上都是2.12,而ubuntu server 12.04都是2.15版本)

6、根据不同的系统,在安装zabbix用户的时候,选择不同是nologin方式;

7、增加智能判断/etc/rc.local是否有开机启动zabbix服务;

8、增加智能删除下载的安装包文件;

9、增加代理安装agent,可以选择安装server-agent模式与proxy-agent模式。

10、增加了外网连接检测,如果无法上网则停止运行脚本。

11、增加检测wget软件是否安装,没有安装会按照不同的系统使用不同的方式安装;

12、增加所有监控模板里所有服务监控的用户自定义的UserParameter到zabbix_agentd.conf里;

13、增加监控lvm参数;

14、增加选择32位系统与64位系统来下载不同的软件安装包。

下面介绍客户端为windows的脚本

@echo offSet zabbix_server_ip=10.10.13.8Set zabbix_server_port=10051for /f "tokens=2 delims=:" %%b in ('ipconfig^|find /i "ip"^|find /i "ipv4"^|find /i "10"') do set fsip=%%bSet fsip=%fsip: =%echo Creating zabbix dirmkdir c:\zabbixmkdir c:\zabbix\confmkdir c:\zabbix\binmkdir c:\zabbix\logecho Copying configcopy /y zabbix\conf\zabbix_agentd.win.conf C:\zabbix\conf\echo Modiy configecho LogFile=c:\zabbix\log\zabbix_agentd.log >> C:\zabbix\conf\zabbix_agentd.win.confecho SourceIP=%fsip% >> C:\zabbix\conf\zabbix_agentd.win.confecho Server=%zabbix_server_ip% >> C:\zabbix\conf\zabbix_agentd.win.confecho ServerActive=%zabbix_server_ip%:%zabbix_server_port% >> C:\zabbix\conf\zabbix_agentd.win.confecho Hostname=%COMPUTERNAME% >> C:\zabbix\conf\zabbix_agentd.win.confecho Copy start fileif exist %windir%\SysWOW64 (set system_bit=64) else set system_bit=32if %system_bit% EQU 32 copy /y zabbix\bin\win32 C:\zabbix\bin\if %system_bit% EQU 64 copy /y zabbix\bin\win64 C:\zabbix\bin\echo install zabbix serviceC:\zabbix\bin\zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.confecho start zabbix servicenet start "Zabbix Agent"echo set  zabbix service autosc config "Zabbix Agent" start= autoecho open firewall for zabbixnetsh firewall set allowedprogram  C:\zabbix\bin\zabbix_agentd.exe zabbix ENABLE

使用dos命令+bat脚本,其中10.10.13.8为server端的内网ip,采用server-client直连模式

安装的话,直接双击脚本就可以(请注意,想使用windows安装的话,使用附件里的zabbix_agent_install.rar,然后解压后双击脚本就可以安装)。

目前已经在windows 2008与2012系统上都成功运行

目前客户端为linux与windows的自动安装脚本都给大家,但请使用的时候,根据自己的需求修改下。

转载地址:http://iuifa.baihongyu.com/

你可能感兴趣的文章
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>
ExtJS之开篇:我来了
查看>>
☆1018
查看>>
oracle 去掉空格
查看>>
6.13心得
查看>>
Runtime类
查看>>