这次的教程多半是搬运过来的,但都经过小轩亲自测试与修改了。文章最后将公布原资源地址。此篇算是整合,但又不全是整合。

依旧需求开篇:上头让小轩监控一下服务器的情况,在前几篇也有所提到。于是小轩就到处去找工具呀~。但是工具真是太多了。什么

  • Performance Co-Pilot
  • Anturis
  • SeaLion
  • Icinga
  • Munin
  • Monit
  • Nagios
  • brainypdm
  • SysUsage
  • Zabbix

以上工具来自http://www.linuxidc.com/Linux/2015-06/119336.htm 。尊重作者版权嘛~

这一看还真是不少。小轩问了几个朋友,又到群里逛了几圈,又比较了zabbix和nagios等几款工具,最后选择了使用zabbix.

先说一下小轩这里的服务器系统采用的是

CentOS release 6.9 (Final)

首先先在机器中安装一个LNMP(用做监控的服务器,就没有自己挨个安装,直接使用了LNMP1.4)地址在:https://lnmp.org/download.html


cd /usr/local/src wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz mkdir lnmp1.4 tar -zxvf lnmp1.4-full.tar.gz -C lnmp1.4 cd lnmp1.4/lnmp1.4-full ./install.sh

这样就开始了安装程序。安装过程很简单,会让你先选择mysql版本,之后是php版本什么的一大堆,小轩感觉还是很简单的,所以就不多说什么了。因为,我只是用来一键安装一下所需要的nginx,mysql,php相关东西。

附上一份lnmp安装教程。╮(╯▽╰)╭,小轩也是写文的时候才看到,要是之前看到就不用试验那么多次了。

https://lnmp.org/install.html小轩这里大概用了19分钟就安装好了,机器慢点的安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

注:让写域名的时候可以先随便写个,比如小轩先写的是zzbix.xxxx.com回车后写的xxxx.com

下面的才是重点。安装好lnmp之后会自动向防火墙中添加80端口的访问权限,这一点不用太担心。但是可以临时先关闭一会防火墙,因为zabbix端口不会自己加入防火墙规则的。


连接mysql数据库:

mysql -u root -p 键入密码后进行数据库管理界面

创建一个名为zabbix的数据库,数据库编码集为UTF-8

create database zabbix character set utf8 collate utf8_bin;

给zabbix数据库设置一个同名用户并设置拥有所有权限

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix-pasword';

这些都是mysql中的一些基本命令,建表,授权等。这里小轩没有用localhost用的是外网ip


创建一个zabbix系统用户:

groupadd zabbix -g 185

useradd -M -r -g zabbix -u 185 -s /bin/false zabbix


下载zabbix3.2源码包

cd /usr/local/src

wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.7/zabbix-3.2.7.tar.gz

tar zxf zabbix-3.2.7.tar.gz

# 导入zabbix数据到mysql数据库

cd /usr/local/src/zabbix-3.2.7/database/mysql/

mysql -uzabbix -pzabbix-pasword zabbix < schema.sql

mysql -uzabbix -pzabbix-pasword zabbix < images.sql

mysql -uzabbix -pzabbix-pasword zabbix < data.sql

安装依赖

yum -y install net-snmp-devel libssh2 libssh2-devel curl-devel

编译安装

cd /usr/local/src/zabbix-3.2.7

./configure --prefix=/usr/local --sysconfdir=/etc/zabbix --enable-server --enable-agent --with-ssh2 --with-openssl --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2

make install

这里小轩没有配置ipv6的访问

修改zabbix配置文件

mkdir /var/log/zabbix

chown -R zabbix.zabbix /var/log/zabbix/

vim /etc/zabbix/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix-pasword

# 由于这里mysql.sock在/tmp下面导致出错了。所以小轩在这里配置了一下。错误信息是什么现在还真记不起来了。能配置一下就配置一下吧。也没什么问题~~
DBSocket=/tmp/mysql.sock LogFile=/var/log/zabbix/zabbix_server.log :wq! # 保存 # 编辑本机agent配置文件
vim /etc/zabbix/zabbix_agentd.conf LogFile=/var/log/zabbix/zabbix_agentd.log Server=127.0.0.1

--

设置启动脚本

cp /usr/local/src/zabbix-3.2.7/misc/init.d/fedora/core5/* /etc/init.d/

chkconfig --add /etc/init.d/zabbix_server

chkconfig --add /etc/init.d/zabbix_agentd

chkconfig zabbix_server on

chkconfig zabbix_agentd on

启动服务

/etc/init.d/zabbix_server start

/etc/init.d/zabbix_agentd start

设置web页面

mkdir -p /data/zabbix

cp -a /usr/local/src/zabbix-3.2.7/frontends/php/* /data/zabbix/

# 此命令会添加一个nginx配置文件,主要是用来代理php服务器来完成php访问。这个一会儿再详细说
lnmp vhost add

停!以上步骤大部分来源于https://yq.aliyun.com/articles/221953(尊重原作者)

好了,下面该小轩上场了。

这里小轩没有截图,就用一下网络中的图片吧

在浏览器输入服务器地址就可以看到这样的页面



直接Next step



这里要填一下数据库连接地址。

填好之后下一步

最终Finish之后会出现这样的页面

默认登陆用户名是:Admin 密码是:zabbix

这里呢,小轩没有登陆成功,就直接去数据库改密码去了。哈哈

# 使用md5对"zabbix-password"加密
echo -n zabbix-password | openssl md5 然后进入mysql use zabbix update users set passwd='刚刚生成的字符串' where userid = '1';

这样小轩就可以登陆啦。

但是登陆后出现了两个地方的问题。



这里说服务器尚未启动,这个先放后一下。还有一个问题就是说php max_input_time=60的问题

这个问题在上面的文章中也有提到,所以小轩就改了一下 。在这里在特殊说明一下。

vim /usr/local/php/etc/php.ini

将max_input_time = 60改成max_input_time = 300

:wq!  #保存 退出

# 重启
/etc/init.d/php-fpm restart

刷新页面这个问题就解决了。之后就解决上面azbbix-server没有启动的问题吧。

小轩登陆服务器之后先去看了zabbix-server的状态

/etc/init.d/zabbix_server status

发现的问题说什么"zabbix_server已死但subsys被锁。"什么东西这是???

怎么搞?参照这个博客给看了一下https://www.cnblogs.com/dantes91/p/4777878.html

但问题没有解决。看来不看日志是不行的。所以小轩就找了一个zabbix_server的日志。啧啧,日志里面说的是连接数据库连接不上。(就是上面mysql.sock那个问题。小轩想起来了)

[root@localhost zabbix]# tailf /tmp/zabbix_server.log
24661:20170523:203250.916 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
24661:20170523:203250.916 database is down: reconnecting in 10 seconds
24661:20170523:203300.916 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
24661:20170523:203300.916 database is down: reconnecting in 10 seconds
24661:20170523:203310.917 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
24661:20170523:203310.917 database is down: reconnecting in 10 seconds
24661:20170523:203320.918 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
24661:20170523:203320.918 database is down: reconnecting in 10 seconds
24661:20170523:203330.920 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
24661:20170523:203330.920 database is down: reconnecting in 10 seconds

就是这么个问题。然后小轩就find / -name mysql.sock发现mysql.sock这个文件在/tmp/目录下。

所以

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

# 小轩用的mysql5.5.....所以命令是mysql..不是mysqld
service mysql restart

之后在zabbix_server.conf文件中添加了DBSocket=/tmp/mysql.sock。

重启zabbix,嗯。WTF???还有问题。什么问题~~~!!!要疯了。

"libmysqlclient.so.16()找不到!!"

哎,要是当初看到lnmp里面有安装教程也不至于这样啊。来吧。解决吧。怎么解决的呢,无语了。

1. 下载MySQL-5.5.58-1.el6.x86_64.rpm-bundle.tar 谁让咱是mysql 5.5呢 - -!!!!!
2. tar -vxf MySQL-5.5.58-1.el6.x86_64.rpm-bundle.tar
3. rpm -ivh MySQL-shared-compat-5.5.58-1.el6.x86_64.rpm
4. 重启zabbix!

nice!搞定了。没有错误了。但是怎么是英文的-。-初次见面,不要这样好不哒,于是呢。改语言吧。

在/data/zabbix/include/locales.inc.php这个文件里面(就是zabbix网站根目录下)

vim /data/zabbix/include/locales.inc.php

/zh_CN

找到之后把false改成true。保存退出

反正小轩是重启了一遍。。嗯。可以了。

WTF !!! 竟然有地方·!乱码!

其实这是因为linux中没有字体导致的。在windows中找一个字体上传到linux中zabbix网站目录中fonts目录下(小轩用的simkai.ttf)

/data/zabbix/fonts然后使用sed命令

sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php

这样就可以啦


题外话

  1. 如果mysql密码忘了怎么办 - -!!!!!

    vim /etc/my.cnf [mysqld]的段中加上一句:skip-grant-tables

    搞定~~

  2. 在另外的机器中安装zabbix-agentd 参见http://blog.csdn.net/a294039255/article/details/50748858尊重作者版权~~~

Zabbix安装之路的更多相关文章

  1. Zabbix学习之路(一)之Zabbix安装

    一.Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@linux-n ...

  2. zabbix安装全过程

    在了解<zabbix硬件.软件需求>之后,在你心里应该有备选的机器.今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置Linu ...

  3. zabbix安装步骤

    第一步:安装环境 Zabbix要求的环境 组件 版本要求 Apache版本 1 .3.1 2 MySQL版本 5.0.3 PHP版本 5.4.0 本次安装的环境 组件 版本要求 操作系统 CentOS ...

  4. 图文讲解zabbix安装全过程(5)

    在了解<zabbix硬件.软件需求>之后,在你心里应该有备选的机器.今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置Linu ...

  5. CentOS下Zabbix安装部署及汉化

    搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...

  6. zabbix安装unixODBC配置完之后报错

    zabbix安装unixODBC配置完之后报错 libmysqlclient_16 not defined in file libmysqlclient_r.so.16 分析 我没有使用centos6 ...

  7. 自己瞎捣腾的Win7下Linux安装之路-----理论篇

    接着上回说道,我把双系统做好啦,开心.... 之后我就在想几个问题: 1.在Ubuntu装好后,重启电脑却还是win7,等我用EasyBCD之后,才可选择使用装好的Ubuntu呢? 2.在用EasyB ...

  8. Zabbix安装图解教程

    说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需 ...

  9. 详解zabbix安装部署(Server端篇)

    原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...

随机推荐

  1. Docker(社区版) centos版 安装

    1,总结一下docker的安装,其实官网有很全面的资料了,可以自己上面去看,但都是英文的. https://docs.docker.com/engine/installation/linux/dock ...

  2. Java8 HashMap源码分析

    java.util.HashMap是最常用的java容器类之一, 它是一个线程不安全的容器. 本文对JDK1.8.0中的HashMap实现源码进行分析. HashMap使用位运算巧妙的进行散列并使用链 ...

  3. 项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS

    企业级分布式存储应用与实战-mogilefs 环境:公司已经有了大量沉淀用户,为了让这些沉淀用户长期使用公司平台,公司决定增加用户粘性,逐步发展基于社交属性的多样化业务模式,决定开展用户讨论区.卖家秀 ...

  4. JS组件系列——Gojs组件,前端图形化插件之利器

    前言:之前分享过两篇关于流程画图的前端组件,使用的jsPlumb.这个组件本身还不错,使用方便.入门简单.轻量级,但是使用一段时间下来,发现一些弊病,比如组件不太稳定,初始进入页面的时候连线的样式有时 ...

  5. JavaScript学习笔记(十二)——箭头函数(Arrow Function)

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  6. JAVAFX-4 开发应用

    JavaFx 形状 Node类是所有JavaFX场景图形节点的基本基类.它提供了转换和应用效果到任何节点的能力. javafx.scene.shape.Shape类是Node类的子类.所有较旧的Jav ...

  7. Function Programming - 柯里化(curry)

    看到一篇非常不错的文章,这里分享给大家:http://www.jianshu.com/p/fa3568087881. 首先,柯里化的定义:你可以只透过部分的参数呼叫一个function,它会回传一个f ...

  8. Xshell显示图形化界面

    前言 很久没用过图形化界面了,都忘记怎么使用了.... 依据以往的经验都是由环境变量DISPLAY设置,然后就能连接了,每天也是匆匆忙忙的就过了一天,都不知道干了啥,分配的时间也少,但是一直纠结,进行 ...

  9. 重要:关于PPT转图片需要注意的问题

    关于PPT转图片的问题需要注意的问题   我们有一个项目做过直接上传ppt的功能,但是网页不可能显示ppt,所以只能把ppt转成pdf或者图片来显示,我们的做法是转成了图片,然后使用swiper做成类 ...

  10. Linux 编程--三种常用的定时器

    这节我们来探讨一下linux开发过程中常用的定时器,尤其在网络编程中被常常用到如heartbeat,断线重连等等.这里提供了三种定时器的方案,分别是链表形式的计时器,环型计时器,最小堆计时器.每个都有 ...