设为首页 收藏本站
查看: 3014|回复: 0

[经验分享] 分布式监控系统Zabbix-3.0.3-lnmp安装记录

[复制链接]

尚未签到

发表于 2017-11-3 13:09:55 | 显示全部楼层 |阅读模式

安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装。


---------设置代理上网------------------------------------------------------------------------

1.1. 全局的代理设置:

[iyunv@localhost ~]# vi /etc/profile
export http_proxy=http://username:password@yourproxy:8080/
export ftp_proxy=http://username:password@yourproxy:8080/

1.2. yum的代理设置:

[iyunv@localhost ~]#  vi /etc/yum.conf
proxy = http://username:password@yourproxy:8080/

或者
proxy=http://yourproxy:808
proxy=ftp://yourproxy:808
proxy_username=username
proxy_password=password

1.3. Wget的代理设置:

[iyunv@localhost ~]#  vi /etc/wgetrc
http_proxy=http://username:password@proxy_ip:port/
ftp_proxy=http://username:password@proxy_ip:port/

export http_proxy=http://oa:123@10.109.131.1:8005/

export ftp_proxy=ftp://oa:123@10.109.131.1:8005/


测试:wget http://www.sourcesforget.com/compiz_manager.deb


---------设置yum源---------------------------------------------------------------

[iyunv@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[iyunv@localhost ~]# vim /etc/yum.repos.d/server.repo
[Media-32b]
name=RHEL6.0 Server
baseurl=file:///media/Server/
enabled=1
gpgcheck=0


2、下载并安装LNMP一键安装包:
您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。
    LNMP源下载:https://lnmp.org/download.html

[iyunv@localhost ~]# yum install gcc -y

安装LNMP执行:

wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。

按上述命令执行后,会出现如下提示:

907596-20160811183222512-34137177.png

需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图:

907596-20160928002328703-591060813.png

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用。

默认为y 启用,输入后回车进入下一步,选择MySQL版本:

907596-20160928002425469-1939781917.png

输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本

907596-20160928002450328-424787877.png

输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:

907596-20160928002612078-1277487123.png


可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。

如果是LNMPA或LAMP的话还需要设置管理员邮箱

再选择Nginx版本

提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。


3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK

907596-20160928002715297-1972919646.png


并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。

接下来按添加虚拟主机教程,添加虚拟主机,通过sftp或ftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。

LNMP相关软件安装目录
Nginx 目录:  /usr/local/nginx/
MySQL 目录 :  /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版为/home/wwwroot/phpmyadmin/ 1.0版为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版为 /home/wwwroot/ 1.0版为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
PureFtpd 目录:/usr/local/pureftpd/
PureFtpd web管理目录: 0.9版为/home/wwwroot/default/ftp/ 1.0版为 /home/wwwroot/default/ftp/
Proftpd 目录:/usr/local/proftpd/
Redis 目录:/usr/local/redis/

LNMP相关配置文件位置
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
Proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf
Proftpd 用户配置文件:/usr/local/proftpd/etc/vhost/用户名.conf
Redis 配置文件:/usr/local/redis/etc/redis.conf

LNMPA相关目录文件位置
Apache目录:/usr/local/apache/
Apache配置文件:/usr/local/apache/conf/httpd.conf
Apache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/


http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz

创建Zabbix运行的用户:
[iyunv@Zabbix-server ~]# groupadd zabbix
[iyunv@Zabbix-server ~]# useradd -g zabbix zabbix

安装libcurl和net-snmp:
[iyunv@Zabbix-server ~]# yum install net-snmp-devel curl-devel

安装Fping:
[iyunv@Zabbix-server ~]# cd /usr/local/src
[iyunv@Zabbix-server src]# wget -c http://fping.org/dist/fping-3.4.tar.gz
[iyunv@Zabbix-server src]# tar zxvf fping-3.4.tar.gz
[iyunv@Zabbix-server src]# cd fping-3.4
[iyunv@Zabbix-server fping-3.4]# ./configure
[iyunv@Zabbix-server fping-3.4]# make && make install
[iyunv@Zabbix-server fping-3.4]# chown root:zabbix /usr/local/sbin/fping
[iyunv@Zabbix-server fping-3.4]# chmod 4710 /usr/local/sbin/fping


安装Zabbix Server:
[iyunv@Zabbix-server ~]# cd /usr/local/src
[iyunv@Zabbix-server src]# wget -chttp://sourceforge.net/projects/ ... zabbix-3.0.3.tar.gz
[iyunv@Zabbix-server src]# tar zxvf zabbix-3.0.3.tar.gz
[iyunv@Zabbix-server src]# cd zabbix-3.0.3
[iyunv@Zabbix-server zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl

注意:编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用,生产环境可去掉。
[iyunv@Zabbix-server zabbix-3.0.3]# make && make install

---------安装Zabbix报错---------------------------------------------------------------

configure: error: Jabber library not found

#yum installiksemel-devel 即可,

configure: error: LIBXML2 library not found

#yuminstall libxml2-devel

configure: error: unixODBC library not found

#yuminstall unixODBC-devel

configure: error: Invalid OPENIPMI directory - unable to findipmiif.h

#yum install OpenIPMI-devel

configure:error: Unable to find "javac" executable in path

#yum install java*具体什么包没找,直接通配,生产环境可去掉--enable-java选项

configure: error: Curl library not found

# yum install curl-devel


Zabbix Server配置与启动
创建Zabbix数据库和MySQL用户:
[iyunv@Zabbix-server ~]# mysql -p
........
mysql> create schema zabbix character set utf8;
Query OK, 1 row affected (0.05 sec)
mysql> create user 'zabbix'@'%' identified by '123456';
Query OK, 0 rows affected (0.16 sec)
mysql> grant all on zabbix.* to 'zabbix'@'%';
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
导入Zabbix初始数据:
切换到zabbix的解压目录下,这里是/usr/local/src目录下
[iyunv@Zabbix-server ~]# cd /usr/local/src
[iyunv@Zabbix-server src]# cd zabbix-3.0.3
[iyunv@Zabbix-server zabbix-3.0.3]#cd database/mysql/
[iyunv@Zabbix-server mysql]# pwd
/usr/local/src/zabbix-3.0.3/database/mysql
[iyunv@Zabbix-server mysql]# ls
data.sql images.sql schema.sql
[iyunv@Zabbix-server mysql]# mysql -uroot -p       #登陆mysql,进行zabbix初始数据导入
mysql> set sql_log_bin=0;
mysql> use zabbix;
mysql> source ./schema.sql;
mysql> source ./images.sql;
mysql> source ./data.sql;
mysql> set sql_log_bin=1;

---------导入数据库报错-----------------------------------------

ERROR 1046 (3D000): No database selected   未创建数据库
编辑/usr/local/zabbix/etc/zabbix_server.conf:
[iyunv@Zabbix-server ~]#vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=192.168.1.30
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
FpingLocation=/usr/local/sbin/fping
从安装目录拷贝zabbix_server脚本,并编辑:
[iyunv@Zabbix-server ~]# cd /usr/local/src
[iyunv@Zabbix-server src]# cd zabbix-3.0.3
[iyunv@Zabbix-server zabbix-3.0.3]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
[iyunv@Zabbix-server zabbix-3.0.3]# mkdir -p /usr/local/zabbix/logs
[iyunv@Zabbix-server zabbix-3.0.3]# chown -R zabbix:zabbix /usr/local/zabbix
[iyunv@Zabbix-server zabbix-3.0.3]# vim /etc/init.d/zabbix_server
[iyunv@Zabbix-server zabbix-3.0.3]# cat /etc/init.d/zabbix_server
...
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
CONF_FILE="/usr/local/zabbix/etc/zabbix_server.conf"
...
start() {
...
daemon $ZABBIX_BIN -c $CONF_FILE
...
}
调整防火墙规则(开放端口10051):
[iyunv@Zabbix-server ~]# vim /etc/sysconfig/iptables
...
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
...
[iyunv@Zabbix-server ~]# /etc/init.d/iptables restart
启动Zabbix Server:
[iyunv@Zabbix-server ~]# service zabbix_server start      
      #也可以直接/usr/local/zabbix/sbin/zabbix_server方式启动
Starting Zabbix Server: [ OK ]
停止Zabbix Server:
[iyunv@Zabbix-server ~]# service zabbix_server stop
Stopping Zabbix Server: [ OK ]
配置开机自动启动:
[iyunv@Zabbix-server ~]# chkconfig --add zabbix_server
[iyunv@Zabbix-server ~]# chkconfig --level 35 zabbix_server on
Zabbix的Web前端
在安装目录将frontends拷贝到指定的web root:
[iyunv@Zabbix-server ~]# mkdir -p /data/www/zabbix
[iyunv@Zabbix-server ~]# cd /usr/local/src
[iyunv@Zabbix-server src]# cd zabbix-3.0.3
[iyunv@Zabbix-server zabbix-3.0.3]#cp -a frontends/php/* /data/www/zabbix/
[iyunv@Zabbix-server zabbix-3.0.3]# chown -R www:www /data/www/zabbix
Nginx配置:
[iyunv@Zabbix-server ~]# cat /usr/local/nginx/conf/vhost/zabbix.conf
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

server {
        listen       80;
        server_name  zabbix.zrwm.com;
        location / {
            root   /data/www/zabbix;
            index  index.php index.html index.htm ;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }         
        location ~ .php$ {
            root           /data/www/zabbix;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }        
    }

php.ini配置:
[iyunv@Zabbix-server ~]# cat /usr/local/php5/etc/php.ini
...
memory_limit = 128M
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
session.auto_start = 0 ;                   //必须为0
mbstring.func_overload = 0
...
注:PHP需要至少开启扩展:gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
如下,查看是否包括了上面所提到的扩展模块
[iyunv@Zabbix-server ~]# /usr/local/php5/bin/php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib
[Zend Modules]

修改网页路径
[iyunv@localhost www]# vim /usr/local/nginx/conf/nginx.conf
...
        ##root  /home/wwwroot/default;
        root  /data/www/zabbix;
...
[iyunv@localhost www]# lnmp restart
访问Web界面http://zabbix.zrwm.com,进行相关web配置,配置完成后使用默认用户admin(密码:zabbix)登陆即可.
907596-20170625213404179-1779576558.jpg
在上面zabbix检索的时候可能出现的错误
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

1)PHP option "max_execution_time"   120 300 failed
# vim /data/php/lib/php.ini
max_execution_time = 300    //修改为300

然后重启nginx(若是apache+php,就重启apache)

2)PHP bcmath    off     failed
解决办法:安装php的bcmath扩展
# yum install *bcmath* --skip-broken
# cd /data/software/php-5.6.30/ext/bcmath/
# /data/php/bin/phize
# ./configure --with-php-config=/data/php/bin/php-config
# make && make install
# vim /data/php/lib/php.ini     添加下面内容
.....
extension=/data/php/lib/php/extensions/no-debug-zts-20131226/bcmath.so

然后重启php(若是apache+php,就重启apache)

3)about always-populate-raw-post-data must be set -1 的问题:
   PHP option "always_populate_raw_post_data"   on  off failed
解决办法:
# vim /data/vhosts/zabbix/include/classes/setup/CFrontendSetup.php      添加下面这一行
.......
     public function checkPhpAlwaysPopulateRawPostData() {
             $current = ini_get('always_populate_raw_post_data');
             $current = -1;                                             //添加这一行内容

     return [
            'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),
            'current' => ($current != -1) ? _('on') : _('off'),
            'required' => _('off'),
            'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
            'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -1)
             ];

二、zabbix客户端的操作记录(192.168.1.7)
安装Zabbix,配置Zabbix agent:
[iyunv@bastion-IDC ~]# cd /usr/local/src/
[iyunv@bastion-IDC src]# wget -c wget -c http://sourceforge.net/projects/ ... 0.3.tar.gz/download
[iyunv@bastion-IDC src]# cd zabbix-3.0.3
[iyunv@bastion-IDC zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix --enable-agent
[iyunv@bastion-IDC zabbix-3.0.3]# make && make install
[iyunv@bastion-IDC zabbix-3.0.3]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
配置zabbix_agentd:
[iyunv@bastion-IDC ~]# groupadd zabbix
[iyunv@bastion-IDC ~]# useradd -g zabbix zabbix
[iyunv@bastion-IDC ~]# mkdir -p /usr/local/zabbix/logs
[iyunv@bastion-IDC ~]# chown zabbix:zabbix -R /usr/local/zabbix/
[iyunv@bastion-IDC ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
[iyunv@bastion-IDC ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf
...
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=192.168.1.30
ListenPort=10050
ServerActive=192.168.1.30
Hostname=192.168.1.7                     
             [#在192.168.1.7本机的/etc/hosts里做主机映射:“ip  hostname”][也可以设置公网ip]
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
...
配置Zabbix Agent启动脚本:
[iyunv@bastion-IDC ~]# cat /etc/init.d/zabbix_agentd
...
prog="Zabbix Agent"
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
CONF_FILE="/usr/local/zabbix/etc/zabbix_agentd.conf"
...
start() {
...
daemon $ZABBIX_BIN -c $CONF_FILE
...
}
...
开启防火墙端口10050:
[iyunv@bastion-IDC ~]# cat /etc/sysconfig/iptables
...
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
...
[iyunv@bastion-IDC ~]# /etc/init.d/iptables restart
启动zabbix_agentd:
[iyunv@bastion-IDC ~]# /etc/init.d/zabbix_agentd start
Starting Zabbix Agent: [ OK ]
配置开机自动启动:
[iyunv@bastion-IDC ~]# chkconfig --add zabbix_agentd
[iyunv@bastion-IDC ~]# chkconfig --level 35 zabbix_agentd on
测试下zabbix agent是否正常工作:
[iyunv@bastion-IDC ~]# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -t system.uptime
system.uptime [u|68301]
到此,zabbix3.0.3监控系统的基本环境安装完成~后续会更新zabbix监控项添加的操作记录,敬请期待~~
-----------------------------------------------------------------------------------------------------------------------------
登录zabbix,先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.
注意:下图中的“主机名称”要和zabbix_agentd.conf文件中设置的“Hostname”后面的名称一致!
配置过一段时间后,观察下监控图效果出来了没:

------------------------------------------------------------------------
在zabbix界面中,默认要查看多个主机的监控数据时需要不停的切换。其实可以在一个页面中批量查看多个主机的监控项的数据,这就需要使用Screen方法(Screen 的方法是将每个item的graph放到一个屏幕上,即在聚合图形里选择要放在一个screen里的图形,事先创建一个拓扑图。注意选择磁盘空间监控项的图形时,图形样式调整“层积“显示),但是看起来不够明晰;最好是将各机器的同一item放到同一个graph里。比如一个Nginx的组里有10台机器,将这10台机器的内存使用率放到一个graph里,方便在测试时查看。
在zabbix的前端要创建此类的graph只能通过手工一个一个的加,不能创建此类的templates。在网上有批量创建Screen的针对API的python脚本。
-------------------------------------------------------------------------------------------------------------------------
zabbix监控获取数据的途径有简单检查,zabbix agent,snmp。可以通过zabbix agent获取客户机的cpu、内存、磁盘io等监控数据;但是对于交互机(打印机,路由器等网络设备)的监控就要用到snmp协议,snmp通过特定的oid值来获取对应的数据。交换机需要开启snmp协议,通过snmpwalk 可以抓取到数据就可以了(snmpwalk -v 2c -c public *.*.*.*)
------------------------------------------------------------------------------------------------------------------------
使用zabbix的ICMP Ping模版实现对客户端网络状态的监控
如上正确安装及配置fping,然后在服务端进行zabbix用户测试fping命令
[iyunv@Zabbix-server ~]# /usr/local/sbin/fping www.baidu.com
www.baidu.com is alive //说明命令返回成功。
接着在zabbix监控界面里添加主机设置,并选择添加模版template icmp ping。然后点开这个模块,可以选择想要的监控项的图形,效果如下:


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406501-1-1.html 上篇帖子: Zabbix与Python不得不说的基情——用Python定制自己的zabbix界面 下篇帖子: zabbix基于ansible推送自定义key--zabbix自动发现--zabbix自动注...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表