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. shiro系列一、认识shiro

    Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...

  2. Ubuntu系统--安装官方flash插件包的方法

    浏览器安装官方install_flash_player_npapi_linux.x86_64.tar.gz插件包的方法 第一步:下载安装包. adobe flash player的官方下载instal ...

  3. CDQ 分治解决和点对有关的问题

    具体可以去这篇博客学习: https://oi-wiki.org/misc/cdq-divide/

  4. 如何通过字符串形式导包(importlib模块的使用)

    1 模块简介 Python提供了importlib包作为标准库的一部分.目的就是提供Python中import语句的实现(以及__import__函数).另外,importlib允许程序员创建他们自定 ...

  5. 低级键盘钩子,在WIN7以上版本的问题

    最近在项目用到低级键盘钩子.发现一个很奇怪的事情,在开发环境和测试环境下都正常运行的键盘钩子, 到了现场环境,总是偶发性出现 键盘钩子不能用了,而且退出时产生1404 错误. 后经过阅读MSDN 的R ...

  6. python之global用法

    如果需要在函数内部改变函数外部的变量,就可以通过在函数内部声明变量为global变量.这样当程序运行至global变量便会替换外部的同名变量. 例1: # -*- coding:utf-8 -*- n ...

  7. 转:SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用

    原文链接:https://blog.csdn.net/evanxuhe/article/details/78650979 为了统一异常,我们通常定义一个统一管理所有Exception,包括自定义Exc ...

  8. [转]vue-router各个属性的作用及用法

    转自以下网址,当备忘使用:https://www.cnblogs.com/goloving/p/9211358.html vue-router是vue单页面开发的路由,就是决定页面跳转的! <r ...

  9. JQuery动画之滑入滑出动画

    1. 滑入动画(类似于商店的卷帘门) $(selector).slideDown(speed, 回调函数); 解释: 此语句实现的功能为, 在XX时间内, 下拉动画, 显现元素. 当 slideDow ...

  10. LGU67496 小$s$的玻璃弹珠

    题意 在一幢\(m\)层建筑你将获得\(n\)个一样的鸡蛋,从高于\(x\)的楼层落下的鸡蛋都会碎.如果一个蛋碎了,你就不能再把它掉下去. 你的目标是确切地知道\(x\)的值.问至少要扔几次才能确定. ...