ZabbixServer的安装(只有源码装zabbix才能装支持java)

搭建自定义yum仓库并安装支持包

yum -y install createrepo        #下载依赖关系命令
createrepo rpm               #生成依赖关系 vim /etc/yum.repos.d/cccc.repo     #创建yum源指定安装包 
[rpm]
name=rpm
baseurl=file:///root/rpm/
gpgcheck=
enabled= yum -y install pcre pcre-devel zlib-devel libaio libaio-devel libxml2 libxml2-devel bzip2-devel openssl openssl-devel net-snmp-devel net-snmp curl-devel gd gcc gcc-c++ make libjpeg-devel libpng-devel libcurl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker mysql-devel net-snmp-utils
#如果下一步出现问题,请注释掉yum配置文件里的本地光盘源
yum -y install libvpx-devel gd-devel

编译安装LNMP环境 (编译过程看不懂 看前边博客各项安装)

安装nginx

useradd -s /sbin/nologin -M www            
tar xf nginx-1.10..tar.gz -C /usr/src/
cd /usr/src/nginx-1.10./
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
cd /usr/local/nginx/conf/
egrep -v "^$|#" nginx.conf.default > nginx.conf vim nginx.conf
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;
location / {
root html;
index index.php index.html index.htm;
}
location = /nginx-status {
stub_status on;
access_log off;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
} nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

安装mysql

tar xf mysql-5.5.-linux2.-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.5.-linux2.-x86_64 mysql
cd mysql/
/bin/cp support-files/my-small.cnf /etc/my.cnf
useradd -s /sbin/nologin -M mysql
chown -R mysql.mysql data
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!

安装libmcrypt

tar xf libmcrypt-2.5..tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5./
./configure && make && make install

安装GD

tar xf GD-2.18.tar.gz -C /usr/src/
 yum install perl-ExtUtils-Embed -y
cd /usr/src/GD-2.18/
perl Makefile.PL
make && make install

安装PHP

tar xf php-5.6..tar.gz -C /usr/src/
cd /usr/src/php-5.6./
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --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
make && make install
cp php.ini-development /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
max_execution_time =
max_input_time =
memory_limit = 256M
post_max_size = 32M
always_populate_raw_post_data = -
upload_max_filesize = 16M
date.timezone =Asia/Shanghai cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
user = www
group = www

安装zabbix server端

编译安装zabbix服务器

useradd zabbix -s /sbin/nologin -M
tar xf zabbix-3.2..tar.gz -C /usr/src/
cd /usr/src/zabbix-3.2./
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2
make && make install
#由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前建立软连接:
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/

配置zabbix的mysql环境

Zabbix服务器和mysql安装到一台服务器上,首先需要手动创建zabbix数据库,操作如下:
mysqladmin -uroot password ''
mysql -uroot -p123456 -e 'create database zabbix character set utf8;'
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';"
mysql -uroot -p123456 -e 'flush privileges;'
#如下数据的导入顺序不可以错
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < /usr/src/zabbix-3.2./database/mysql/data.sql

安装Zabbix web GUI

  • Zabbix web是php代码编写的,因此需要有php环境,前面已经安装好了lnmp,因此可以直接使用。
  • 默认的nginx安装的根目录为/ usr / local / nginx / html,因此,只需要Zabbix web的代码放到此目录即可。
  • Zabbix web的代码在Zabbix源码包中的frontends / php目录下,将这个php目录拷贝到/ usr / local / nginx / html /目录下并改名zabbix即可完成Zabbix web端的安装。
  • 在浏览器输入http:// IP / zabbix,然后会检查zabbix web运行环境是否满足,并提供连接数据库的相关信息即可,最后将连接数据库相关信息都存入文件zabbix / conf / zabbix.conf。 PHP中,这样就可以登录ZABBIX的网络平台了。
  • 默认的ZABBIX平台登录用户名为管理员,密码为ZABBIX。

复制zabbix web目录到nginx web根目录下

cp -rp /usr/src/zabbix-3.2./frontends/php /usr/local/nginx/html/zabbix
cd /usr/local/nginx/html/
chown -R www.www zabbix
ll -d zabbix/
drwxr-xr-x. www www Feb zabbix/

启动nginx服务及php-fpm

/usr/local/nginx/sbin/nginx
netstat -antup | grep nginx
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx
/usr/local/php/sbin/php-fpm
netstat -antup | grep php-fpm
tcp 127.0.0.1: 0.0.0.0:* LISTEN /php-fpm

登录web根据提示生成zabbix.conf.php配置文件

在浏览器输入:IP/zabbix

zabbix server的配置

zabbix_server.conf配置

通过源码安装方式将zabbix安装到/ usr / local / zabbix下面,zabbix server的配置文件为/usr/local/zabbix/etc/zabbix_server.conf

#将zabbix_server.conf文件内容修改成如下所示:
vim /usr/local/zabbix/etc/zabbix_server.conf
   ListenPort=         #zabbix server监听端口
LogFile=/tmp/zabbix_server.log #zabbix server日志路径
DBName=zabbix           #zabbix server连接MySQL数据库的数据库名
DBUser=zabbix           #zabbix server连接MySQL数据库的用户名
DBPassword=         #zabbix server连接MySQL数据库的密码
DBSocket=/tmp/mysql.sock    #MySQL的实例文件位置
StartPollers=           #用于设置zabbix server服务启动时启动Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大
StartTrappers=         #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。
StartDiscoverers=         #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。
ListenIP=0.0.0.0         #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
                        #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

添加相关服务和端口到系统配置文件

编辑/ etc / services中文件,在最后添加以下代码:

vim /etc/services
zabbix-agent /tcp # Zabbix Agent
zabbix-agent /udp # Zabbix Agent
zabbix-trapper /tcp # Zabbix Trapper
zabbix-trapper /udp # Zabbix Trapper

其中,10051是zabbix server的监听端口,10050是zabbix agent的监听端口。

添加管理维护脚本

从ZABBIX源码包杂项/ init.d /的fedora的/ CORA /目录中找到zabbix_server和zabbix_agentd,然后复制到的/etc/init.d目录下,由于我们的zabbix_agnetd采用转的安装方式,会自动添加启动脚本,所以在此处,我们不进行zabbix_agentd的启动脚本的复制。

cp /usr/src/zabbix-3.2./misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_server
chkconfig zabbix_server on

启动zabbix_server端进程

/etc/init.d/zabbix_server start
netstat -antup | grep zabbix_server
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_server

zabbix_agent的安装与配置

zabbix agent端的安装建议采用rpm包方式安装,可从http://repo.zabbix.com/zabbix/3.2/下载zabbix的agent端rpm包,版本与zabbix server端保持一致,安装如下:

wget http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.4-1.el6.x86_64.rpm
rpm -ivh zabbix-agent-3.2.-.el6.x86_64.rpm

安装完成后,zabbix agent端已经安装完成了,zabbix agent端的配置目录位于/ etc / zabbix下,可在此目录进行配置文件的修改。

特别提示:

  • zabbix server的源码包本身就包含了zabbix server端和zabbix agent端,因此,zabbix服务器端无需再安装zabbix agent的rpm包。
  • 然而zabbix agent的rpm包是为了方便在服务器上进行快速安装而设计的快捷安装包。
  • 因此为了统一,监控端和被监控端的zabbix agent我们都用rpm的安装方式

修改zabbix agent端的配置文件

#将内容修改为如下所示:
vim /etc/zabbix/zabbix_agentd.conf
   PidFile=/var/run/zabbix/zabbix_agentd.pid    #进程pid存放路径
LogFile=/var/log/zabbix/zabbix_agentd.log   #zabbix agent日志存放路径
Server=127.0.0.1,192.168.0.220           #指定zabbix server端IP地址
ListenPort=                  #指定agentd的监听端口
StartAgents=                  #指定启动agentd进程数量。设置0表示关闭
ServerActive=192.168.0.220:         #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP
Hostname=192.168.0.220                #需要监控的主机名或者IP地址,agent装在哪写哪的IP
Include=/etc/zabbix/zabbix_agentd.d/ #相关配置都可以放到此目录下,自动生效
UnsafeUserParameters=                #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

启动zabbix_agent端进程

/etc/init.d/zabbix-agent start
netstat -antup | grep zabbix_agent
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
tcp ::: :::* LISTEN /zabbix_agentd
chkconfig zabbix-agent on

设置开机自启动

chkconfig mysqld on
chkconfig zabbix_server on

vim /etc/rc.local
mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod 0775 /var/run/zabbix
/usr/local/sbin/nginx
/usr/local/php/sbin/php-fpm
/etc/init.d/zabbix-agent stop

解决zabbix-agent重启无法创建PID问题

mkdir /var/run/zabbix
chown root:zabbix /var/run/zabbix
chmod /var/run/zabbix

测试zabbix server监控

如何知道zabbix server监控已经生效呢,可通过zabbix server上的zabbix_get命令来完成,在zabbix服务器上执行如下命令即可进行测试:

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "system.uptime"
-s 是指定zabbix agent端的IP地址
-p 是指定zabbix agent端的监听端口
-k 是监控项,即item
如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作
/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p -k "system.uptime"
#有数据显示就代表监控正常

自定义一个监控项

在zabbix agent配置文件里定义这个监控项

vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/ #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。

由于zabbix_agentd.conf配置文件默认导入了所有zabbix_agentd.d目录下的内容,因此我们可以将监控项定义到zabbix_agentd.d目录下。

参考模版,自己定义监控项的获取命令

vim /etc/zabbix/zabbix_agentd.d/监控名.conf
UserParameter=MEM,free |awk 'NR==2{print $NF}'
固定格式 自定义监控key键, 监控命令(查看总内存)
/etc/init.d/zabbix-agent restart

在zabbix server端测试获取自定义的监控项信息

/usr/local/zabbix/bin/zabbix_get -s 192.168.50.166 -p  -k "MEM"

zabbix server端与agent端源码安装 自定义监控项的更多相关文章

  1. [原创] zabbix学习之旅一:源码安装

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

  2. zabbix-3.4.14源码安装

    此次介绍一下,zabbix的源码安装,因为zabbix的依赖很多,所以源码安装有很多依赖需要安装 首先,下载zabbix源码包 wget https://nchc.dl.sourceforge.net ...

  3. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  4. 源码安装和配置zabbix 3.0 LST

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  5. zabbix源码安装后,设置为服务启动和关闭

    zabbix源码安装,使用service启动与关闭服务 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本,在/usr/local/src/zabbix ...

  6. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  7. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

  8. Zabbix监控系统部署:源码安装

    1. 概述1.1 基础环境2. 部署过程2.1 创建用户组2.2 下载源码解压编译安装2.2.1 下载源码解压2.2.2 YUM安装依赖环境2.2.3 编译安装最新版curl2.2.4 更新GNU构建 ...

  9. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

随机推荐

  1. 如何使用jMeter发送两个逻辑上相关的HTTP请求

    在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作. 现在我有另一个需求场景:假设我开发了一个创建Servic ...

  2. BootStrap【四、插件】

    BootStrap插件基于: 1.BootStrap.js 2.BootStrap.js基于JQuery data属性 1.通过data属性控制页面交互 2.$(document).off('.dat ...

  3. Flutter——Text组件(文字组件)

    名称 功能 textAlign 文本对齐方式(center 居中,left 左 对齐,right 右对齐,justfy 两端对齐) textDirection 文本方向(ltr 从左至右,rtl 从右 ...

  4. django的几种缓存配置

    前言 首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存 ...

  5. asp.net 设计音乐网站

    第一步 收集资料 http://www.logoko.com.cn/    --设计logo网站 设计音乐文档  https://wenku.baidu.com/view/3d957617f18583 ...

  6. web开发:javascript之dom与bom

    一.节点认知 二.文档结构 三.文档节点操作 四.事件target 五.BOM操作 一.节点认知 - dom与dom属性 <!DOCTYPE html> <html> < ...

  7. Linux--查询文件的第几行到第几行命令

    cat catalina.out | tail -n +14000 | head -n 10000 | sort | uniq -c linux 如何显示一个文件的某几行(中间几行)[一]从第3000 ...

  8. shell脚本中case /*的作用

    如下语句 case $0 in /*) ;; *) ;; /*在这里的作用就是绝对路径的意思

  9. Cobbler安装和配置

    1.yum国内源的安装与更新 1.1 备份原repo文件 cd /etc/yum.repo.d/ mkdir repo_bak mv *.repo repo_bak 1.2 在centos中配置网易和 ...

  10. 多机部署lnmp-1

    第一台部署Nginx [root@lnmp ~]# cat /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx. ...