首页 文章 精选 留言 我的

精选列表

搜索[MaaS平台],共10000篇文章
优秀的个人博客,低调大师

运维监控平台之zabbix详解2

1、Zabbix架构 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 Zabbix的运行架构如下图所示: 2、组件 zabbix由以下几个组件部分构成: 1)、Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行; 2)、Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据; 3)、Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上; 4)、Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端; 5、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端; 3、进程 默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。 zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。 zabbix_get zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。 zabbix_sender zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。 zabbix_server zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server 备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。 zabbix_proxy zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。 zabbix_java_gateway zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。 4、zabbix监控环境中相关术语 主机(host):要监控的网络设备,可由IP或DNS名称指定; 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用; 监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识; 触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK"; 事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等; 动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作; 报警媒介类型(media):发送通知的手段或者通道,如Email、Jabber或者SMS等; 模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机; 前端(frontend):Zabbix的web接口 5、zabbix安装 上篇文章我们介绍过了在LNMP环境下 zabbix-server的安装,因此这里就不再说明了,这里简单说明下环境规划及zabbix-agent的安装,操作系统都是centos6.7 两台服务器都安装zabbix-agent [root@ansible~]#wget [root@ansible~]#rpm-ivhzabbix-release-3.0-1.el6.noarch.rpm Preparing...###########################################[100%] 1:zabbix-release###########################################[100%] [root@ansible~]#yum-yinstallzabbix-agent [root@ansible ~]# vim /etc/zabbix/zabbix_agentd.conf 修改配置文件 Server=172.16.80.117 #这个地址填写zabbix-server所在的ip,默认是127.0.0.1 [root@ansible ~]# /etc/init.d/zabbix-agent start Starting Zabbix agent: [ OK ] 6、监控第一台主机(172.16.80.128) zabbix配置流程基本如下 Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event(事件)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Audit(日志审计) 配置步骤是 configuration---->hosts---->create host 接下来选择templates选项卡,输入关键字linux,我们选择第一个模块 之后我们就可以看到我们刚才添加的那台主机172.16.80.128,红色方框里面是什么意思我们在上面已经说明相关概念了,这里就不再说明,过一会儿就可以出图了 7、用户参数User parameters 有时候当我们监控的项目在zabbix预定义的key中没有定义时,这时候我们可以通过编写zabbix的用户参数的方法来监控我们要求的项目item。形象一点说zabbix代理端配置文件中的User parameters就相当于通过脚本获取要监控的值,然后把相关的脚本或者命令写入到配置文件中的User parameter中然后zabbix server读取配置文件中的返回值通过处理前端的方式返回给用户。 7.1 用户参数的语法 UserParameter=<key>,<command> 其中UserParameter为关键字,key为用户自定义key名字可以随便起,<command>为我们要运行的命令或者脚本。 一个简单的例子: UserParameter=ping,echo 1 代理程序程序将会永远的返回1当我们在服务器端添加item的key为 ping时候。 稍微复杂的例子 UserParameter=mysql.ping,/usr/bin/mysqladmin -uroot -p123456 ping | grep -c alive 当我们执行mysqladmin -uroot ping命令的时候如果mysq存活要返回mysqld is alive ,我们通过grep–c来计算mysqld is alive的个数,如果mysql存活着个数为1,如果不存活很明显mysqld is alive的个数为0,通过这种方法我们可以来判断mysql的存活状态。 对于zabbix代理程序程如果mysql存活状态序将当返回1,如果mysql不存活状态将返回0,当我们在服务器端添加item的key为mysql.ping时候。 7.2 让key接受参数 通过让key也接受参数的方法使item添加时更具备了灵活性,例如系统预定义key :vm.memory.size[<mode>],其中的mode模式就是用户要接受的参数,当我们填写为free时则返回的为内存的剩余大小,如果我们填入的为userd时这返回的是内存已经使用的大小。 相关语法 在/etc/zabbix/zabbix_agentd.conf中配置参数,写法如下。 UserParameter=key,command 除了上面这种写法,还支持参数传递的写法,具体如下。 UserParameter=key[*],command $1 $2 $3 …. 描述 Key:Key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数 命令:客户端系统中可执行的命令 例1: UserParameter=ping[*],echo $1 ping[0] - will always return '0' ping[aaa] - will always return 'aaa' 注意: 1.用户自定义参数一定要包含一个key和一个命令,也可以是一个脚本 2.key在整个系统是唯一的 3.用户自定义参数返回值,最大返回512兆 4.自定义完后,重启服务测试Key 7.3通过用户参数测试网站的连通性 可以看到该命令执行的结果是返回状态码200 说明网站正常 [root@ansible~]#vim/etc/zabbix/zabbix_agentd.conf修改客户端配置文件 UnsafeUserParameters=1 UserParameter=http_check,/usr/bin/curl-o/dev/null-s-w%{http_code}$1 [root@ansible~]#/etc/init.d/zabbix-agentrestart ShuttingdownZabbixagent:[OK] StartingZabbixagent:[OK] 在zabbix-server测试 [root@centos02~]#zabbix_get-s172.16.80.128-p10050-k"http_check[172.16.80.128]" 为监控端添加相应的item,triggers,graphs http_check['172.16.80.128'] 最后我们来看下截图情况,中间我们会模拟下httpd停掉的情况 8、通过zabbix监控nginx的状态 nginx配置 ###status server{ listen80; server_namestatus.martin.org; location/{ stub_statuson; access_logoff; } } 访问测试 Activeconnections:对后端发起的活动连接数; server accepts 7:nginx总共处理了29179个连接; handled:成功创建了29179次握手; requests:总共处理了34952请求。 Reading:nginx读取客户端的header数; Writing: nginx返回给客户端的header数; Waiting: nginx请求处理完成,正在等待下一请求指令的连接。 编写检测nginx的脚本 [root@centos02tools]#vimnginx.sh #!/bin/bash BKUP_DATE=`/bin/date+%Y%m%d` LOG="/var/log/nginx.log" HOST=status.martin.org PORT="80" #Functionstoreturnnginxstats functionactive{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|grep'Active'|awk'{print$NF}' } functionreading{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|grep'Reading'|awk'{print$2}' } functionwriting{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|grep'Writing'|awk'{print$4}' } functionwaiting{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|grep'Waiting'|awk'{print$6}' } functionaccepts{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|awkNR==3|awk'{print$1}' } functionhandled{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|awkNR==3|awk'{print$2}' } functionrequests{ /usr/bin/curl"http://$HOST:$PORT"2>/dev/null|awkNR==3|awk'{print$3}' } #Runtherequestedfunction $1 [root@centos02alertscripts]#cp/tools/nginx.sh/application/zabbix-server/share/zabbix/alertscripts/ [root@centos02alertscripts]#chownzabbix.zabbixnginx.sh [root@centos02alertscripts]#chmod+x/application/zabbix-server/share/zabbix/alertscripts/nginx.sh [root@centos02alertscripts]#vim/etc/zabbix/zabbix_agentd.conf UserParameter=nginx.accepts,/application/zabbix-server/share/zabbix/alertscripts/nginx.shaccepts UserParameter=nginx.handled,/application/zabbix-server/share/zabbix/alertscripts/nginx.shhandled UserParameter=nginx.requests,/application/zabbix-server/share/zabbix/alertscripts/nginx.shrequests UserParameter=nginx.connections.active,/application/zabbix-server/share/zabbix/alertscripts/nginx.shactive UserParameter=nginx.connections.reading,/application/zabbix-server/share/zabbix/alertscripts/nginx.shreading UserParameter=nginx.connections.writing,/application/zabbix-server/share/zabbix/alertscripts/nginx.shwriting UserParameter=nginx.connections.waiting,/application/zabbix-server/share/zabbix/alertscripts/nginx.shwaiting [root@centos02alertscripts]#/etc/init.d/zabbix-agentrestart ShuttingdownZabbixagent:[OK] StartingZabbixagent:[OK]

优秀的个人博客,低调大师

运维监控平台之zabbix详解1

本来是想一篇文章介绍完的,写着写着发现篇幅太长,所以决定还是分两篇来介绍,本次软件所用的版本信息如下(基于LNMP环境),操作系统centos6.7 nginx-1.6.3.tar.gz php-5.6.24.tar.gz mysql-5.5.49-linux2.6-x86_64.tar.gz zabbix-3.0.4.tar.gz (zabbix-3以上版本之支持php5.4以上环境) LNMP环境搭建不再这里说明了,如果不懂的看本人之前写的nginx+php,这里简单介绍下php编译 [root@centos02tools]#wgethttp://cn2.php.net/distributions/php-5.6.24.tar.gz [root@centos02tools]#tarxfphp-5.6.24.tar.gz [root@centos02tools]#cdphp-5.6.24 [root@centos02php-5.6.24]#./configure\ >--prefix=/application/php5.6.24\ >--with-mysql=/application/mysql\ >--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd >--with-iconv-dir=/usr/local/libiconv\ >--with-freetype-dir\ >--with-jpeg-dir\ >--with-png-dir\ >--with-zlib\ >--with-libxml-dir=/usr\ >--enable-xml\ >--disable-rpath\ >--enable-safe-mode\ >--enable-bcmath\ >--enable-shmop\ >--enable-sysvsem\ >--enable-inline-optimization\ >--with-curl\ >--with-curlwrappers\ >--enable-mbregex\ >--enable-fpm\ >--enable-mbstring\ >--with-mcrypt\ >--with-gd\ >--enable-gd-native-ttf\ >--with-openssl\ >--with-mhash\ >--enable-pcntl\ >--enable-sockets\ >--with-xmlrpc\ >--enable-zip\ >--enable-soap\ >--enable-short-tags\ >--enable-zend-multibyte\ >--enable-static\ >--with-xsl\ >--with-fpm-user=nginx\ >--with-fpm-group=nginx\ >--enable-ftp >--with-gettext Generatingfiles configure:creating./config.status creatingmain/internal_functions.c creatingmain/internal_functions_cli.c +--------------------------------------------------------------------+ |License:| |ThissoftwareissubjecttothePHPLicense,availableinthis| |distributioninthefileLICENSE.Bycontinuingthisinstallation| |process,youareboundbythetermsofthislicenseagreement.| |Ifyoudonotagreewiththetermsofthislicense,youmustabort| |theinstallationprocessatthispoint.| +--------------------------------------------------------------------+ ThankyouforusingPHP. config.status:creatingphp5.spec config.status:creatingmain/build-defs.h config.status:creatingscripts/phpize config.status:creatingscripts/man1/phpize.1 config.status:creatingscripts/php-config config.status:creatingscripts/man1/php-config.1 config.status:creatingsapi/cli/php.1 config.status:creatingsapi/fpm/php-fpm.conf config.status:creatingsapi/fpm/init.d.php-fpm config.status:creatingsapi/fpm/php-fpm.service config.status:creatingsapi/fpm/php-fpm.8 config.status:creatingsapi/fpm/status.html config.status:creatingsapi/cgi/php-cgi.1 config.status:creatingext/phar/phar.1 config.status:creatingext/phar/phar.phar.1 config.status:creatingmain/php_config.h config.status:executingdefaultcommands configure:WARNING:unrecognizedoptions:--enable-safe-mode,--with-curlwrappers,--enable-zend-multibyte 编译过程截图如下 [root@centos02application]#ln-s/application/mysql/lib/libmysqlclient.so.18/usr/lib64/ [root@centos02application]#touchext/phar/phar.phar [root@centos02application]#make&&makeinstall Buildcomplete. Don'tforgettorun'maketest'. Installingsharedextensions:/application/php5.6.24/lib/php/extensions/no-debug-non-zts-20131226/ InstallingPHPCLIbinary:/application/php5.6.24/bin/ InstallingPHPCLImanpage:/application/php5.6.24/php/man/man1/ InstallingPHPFPMbinary:/application/php5.6.24/sbin/ InstallingPHPFPMconfig:/application/php5.6.24/etc/ InstallingPHPFPMmanpage:/application/php5.6.24/php/man/man8/ InstallingPHPFPMstatuspage:/application/php5.6.24/php/php/fpm/ InstallingPHPCGIbinary:/application/php5.6.24/bin/ InstallingPHPCGImanpage:/application/php5.6.24/php/man/man1/ Installingbuildenvironment:/application/php5.6.24/lib/php/build/ Installingheaderfiles:/application/php5.6.24/include/php/ Installinghelperprograms:/application/php5.6.24/bin/ program:phpize program:php-config Installingmanpages:/application/php5.6.24/php/man/man1/ page:phpize.1 page:php-config.1 InstallingPEARenvironment:/application/php5.6.24/lib/php/ [PEAR]Archive_Tar-installed:1.4.0 [PEAR]Console_Getopt-installed:1.4.1 [PEAR]Structures_Graph-installed:1.1.1 [PEAR]XML_Util-installed:1.3.0 [PEAR]PEAR-installed:1.10.1 WrotePEARsystemconfigfileat:/application/php5.6.24/etc/pear.conf Youmaywanttoadd:/application/php5.6.24/lib/phptoyourphp.iniinclude_path /tools/php-5.6.24/build/shtoolinstall-cext/phar/phar.phar/application/php5.6.24/bin ln-s-fphar.phar/application/php5.6.24/bin/phar InstallingPDOheaders:/application/php5.6.24/include/php/ext/pdo/ [root@centos02php-5.6.24]#ln-s/application/php5.6.24//application/php [root@centos02php-5.6.24]#cpphp.ini-production/application/php/lib/php.ini [root@centos02php-5.6.24]#cd/application/php/etc/ [root@centos02etc]#cpphp-fpm.conf.defaultphp-fpm.conf [root@centos02etc]#catphp-fpm.conf [global] [www] user=nginx group=nginx listen=127.0.0.1:9000 pm=dynamic pm.max_children=5 pm.start_servers=2 pm.min_spare_servers=1 pm.max_spare_servers=3 [root@centos02etc]#/application/php/sbin/php-fpm nginx配置如下 [root@centos02etc]#cat/application/nginx/conf/nginx.conf worker_processes2; events{ worker_connections1024; } http{ log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; includemime.types; default_typeapplication/octet-stream; sendfileon; keepalive_timeout65; server{ listen80; server_namewww.martin.commartin.com; location/{ roothtml/www; indexindex.phpindex.htmlindex.htm; } location~.*\.(php|php5)?${ roothtml/www; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi.conf; } access_loglogs/access_www.logmain; } server{ listen80; server_namebbs.martin.com; location/{ roothtml/bbs; indexindex.phpindex.htmlindex.htm; } location~.*\.(php|php5)?${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi.conf; } access_loglogs/access_bbs.logmain; } ###status server{ listen80; server_namestatus.martin.org; location/{ stub_statuson; access_logoff; } } } 浏览器访问测试 (www.martin.com---172.16.80.117) 至此整个LNMP环境准备完成,zabbix(在LNMP环境下)选择源码编译安装 curl 7.19.7 系统默认版本,升级该软件版本,否则后面邮件功能会有问题 [root@centos02application]#rpm-Uvhhttp://www.city-fan.org/ftp/contrib/yum-repo/rhel6/x86_64/city-fan.org-release-1-13.rhel6.noarch.rpm Retrievinghttp://www.city-fan.org/ftp/contrib/yum-repo/rhel6/x86_64/city-fan.org-release-1-13.rhel6.noarch.rpm warning:/var/tmp/rpm-tmp.jSwm5A:HeaderV3DSA/SHA1Signature,keyIDb56a8bac:NOKEY Preparing...###########################################[100%] 1:city-fan.org-release###########################################[100%] [root@centos02application]#yuminstalllibcurl-y [root@centos02application]#curl-V再次查看版本 curl7.50.1(x86_64-redhat-linux-gnu)libcurl/7.50.1OpenSSL/1.0.1ezlib/1.2.3c-ares/1.11.0libidn/1.18libssh2/1.7.0nghttp2/1.6.0 Protocols:dictfileftpftpsgopherhttphttpsimapimapsldapldapspop3pop3srtspscpsftpsmbsmbssmtpsmtpstelnettftp Features:AsynchDNSIDNIPv6LargefileGSS-APIKerberosSPNEGONTLMNTLM_WBSSLlibzHTTP2UnixSocketsMetalink 安装zabbix依赖包 [root@centos02zabbix-3.0.4]#yum-yinstallmysql-devellibxml2-develnet-snmp-devellibcurl-devel [root@centos02tools]#wgethttp://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz [root@centos02tools]#tarxfzabbix-3.0.4.tar.gz [root@centos02tools]#cdzabbix-3.0.4 [root@centos02zabbix-3.0.4]#./configure--prefix=/application/zabbix-server--enable-server--with-mysql--with-net-snmp--with-libcurl--with-libxml2--enable-agent--enable-proxy Enableserver:yes Serverdetails: Withdatabase:MySQL WEBMonitoring:cURL NativeJabber:no SNMP:yes IPMI:no SSH:no TLS:no ODBC:no Linkerflags:-L/usr/lib64/mysql-L/usr/lib64-rdynamic Libraries:-lmysqlclient-lxml2-lnetsnmp-lcurl-lm-ldl-lrt-lresolv Enableproxy:yes Proxydetails: Withdatabase:MySQL WEBMonitoring:cURL SNMP:yes IPMI:no SSH:no TLS:no ODBC:no Linkerflags:-L/usr/lib64/mysql-L/usr/lib64-rdynamic Libraries:-lmysqlclient-lxml2-lnetsnmp-lcurl-lm-ldl-lrt-lresolv Enableagent:yes Agentdetails: TLS:no Linkerflags:-rdynamic Libraries:-lcurl-lm-ldl-lrt-lresolv EnableJavagateway:no LDAPsupport:no IPv6support:no *********************************************************** *Nowrun'makeinstall'* ** *ThankyouforusingZabbix!* *<http://www.zabbix.com>* *********************************************************** [root@centos02 zabbix-3.0.4]# make install 由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前建立软链接 [root@centos02zabbix-3.0.4]#ln-s/application/zabbix-server/sbin/*/usr/local/sbin/ [root@centos02zabbix-3.0.4]#ln-s/application/zabbix-server/bin/*/usr/local/bin/ 生成zabbix的web文件 [root@centos02zabbix-3.0.4]#mkdir/application/nginx/html/zabbix [root@centos02zabbix-3.0.4]#cp-a/tools/zabbix-3.0.4/frontends/php/*/application/nginx/html/zabbix/ 手动创建zabbix数据库及授权 [root@centos02zabbix-3.0.4]#mysql-uroot-p123456 WelcometotheMySQLmonitor.Commandsendwith;or\g. YourMySQLconnectionidis4 Serverversion:5.5.49-logMySQLCommunityServer(GPL) Copyright(c)2000,2013,Oracleand/oritsaffiliates.Allrightsreserved. OracleisaregisteredtrademarkofOracleCorporationand/orits affiliates.Othernamesmaybetrademarksoftheirrespective owners. Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement. mysql>createdatabasezabbixdefaultcharsetutf8; QueryOK,1rowaffected(0.16sec) mysql>grantallonzabbix.*tozabbix@'localhost'identifiedby'zabbix'; QueryOK,0rowsaffected(0.16sec) mysql>flushprivileges; QueryOK,0rowsaffected(0.19sec) 导入zabbix数据库文件 [root@centos02mysql]#pwd /tools/zabbix-3.0.4/database/mysql [root@centos02mysql]#mysql-uzabbix-pzabbixzabbix<schema.sql [root@centos02mysql]#mysql-uzabbix-pzabbixzabbix<p_w_picpaths.sql [root@centos02mysql]#mysql-uzabbix-pzabbixzabbix<data.sql 配置zabbixserver端 修改zabbix配置文件,配置zabbix_server cd/usr/local/zabbix/etc vi/usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix#数据库名称 DBUser=zabbix#数据库用户名 DBPassword=zabbix#数据库密码 ListenIP=localhost#数据库ip地址 DBSocket=/tmp/mysql.sock#这里填写mysql实际的socket位置查看/etc/my.cnf即可 AlertScriptsPath=/application/zabbix-server/share/zabbix/alertscripts#zabbix运行脚本存放目录 修改php.ini文件/application/php/lib/php.ini post_max_size=16M max_execution_time=300 memory_limit=128M max_input_time=300 date.timezone=Asia/Shanghai always_populate_raw_post_data=-1 extension=php_gettext.dll 修改nginx配置文件如下 [root@centos02mysql]#cat/application/nginx/conf/nginx.conf worker_processes2; events{ worker_connections1024; } http{ log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; includemime.types; default_typeapplication/octet-stream; sendfileon; keepalive_timeout65; server{ listen80; server_namewww.martin.commartin.com; location/{ roothtml/zabbix; indexindex.phpindex.htmlindex.htm; } location~.*\.(php|php5)?${ roothtml/zabbix; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi.conf; } access_loglogs/access_zabbix.logmain; } server{ listen80; server_namebbs.martin.com; location/{ roothtml/bbs; indexindex.phpindex.htmlindex.htm; } location~.*\.(php|php5)?${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi.conf; } access_loglogs/access_bbs.logmain; } ###status server{ listen80; server_namestatus.martin.org; location/{ stub_statuson; access_logoff; } } } [root@centos02mysql]#/application/nginx/sbin/nginx-sreload [root@centos02mysql]#useradd-s/sbin/nologin-Mzabbix [root@centos02mysql]#/etc/init.d/zabbix_serverstart Startingzabbix_server:[OK] [root@centos02mysql]#/application/php/sbin/php-fpm [root@centos02init.d]#/application/zabbix-server/sbin/zabbix_server-c/application/zabbix-server/etc/zabbix_server.conf 浏览器访问http://www.martin.com/ 用户名/密码 默认是 Admin/zabbix 再来看下中文界面 安装agent [root@centos02tools]#wgethttp://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm [root@centos02tools]#rpm-ivhzabbix-release-3.0-1.el6.noarch.rpm Preparing...###########################################[100%] 1:zabbix-release###########################################[100%] [root@centos02tools]#yum-yinstallzabbix-agent [root@centos02tools]#/etc/init.d/zabbix-agentstart启动agent StartingZabbixagent:[OK] 按照图示步骤启用主机监控即可 这次我们简单介绍到这里,下篇我们正式开始介绍zabbix监控

优秀的个人博客,低调大师

使用hadoop平台进行小型网站日志分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/44688325 0.上传日志文件到linux中,通过flume将文件收集到hdfs中。 执行命令/home/cloud/flume/bin/flume-ng agent -n a4 -c conf -f /home/cloud/flume/conf/a4.conf -Dflume.root.logger=DEBUG,console 1.建立hive表 create external table bbslog (ip string,logtime string,url string) partitioned by (logdate string) row format delimited fields terminated by '\t' location '/cleaned'; 2.创建shell脚本 touch daily.sh 添加执行权限 chmod +x daily.sh daily.sh: CURRENT=`date +%Y%m%d` #对数据进行清理,保存到cleaned文件夹,按照当前日期进行保存 /home/cloud/hadoop/bin/hadoop jar /home/cloud/cleaner.jar /flume/$CURRENT /cleaned/$CURRENT #修改hive表,添加当前日期的分区 /home/cloud/hive/bin/hive -e "alter table bbslog add partition (logdate=$CURRENT) location 'cleaned/$CURRENT'" #使用hive进行分析,根据业务需求而定 #统计pv并计入每日的pv表 /home/cloud/hive/bin/hive -e "create table pv_$CURRENT row format delimited fields terminated by '\t' as select count(*) from bbslog where logdate=$CURRENT;" #统计点击次数过20的潜在用户 /home/cloud/hive/bin/hive -e "create table vip _$CURRENT row format delimited fields terminated by '\t' as select $CURRENT,ip,count(*) as hits from bbslog where logdate=$CURRENT group by ip having hits > 20 order by hits desc" #查询uv /home/cloud/hive/bin/hive -e "create table uv_$CURRENT row format delimited fields terminated by '\t' as select count(distinct ip) from bbslog where logdate=$CURRENT" #查询每天的注册人数 /home/cloud/hive/bin/hive -e "create table reg_$CURRENT row format delimited fields terminated by '\t' as select count(*) from bbslog where logdate=$CURRENT AND instr(url,'member.php?mod=register')>0" #将hive表中的数据导入mysql /home/cloud/sqoop/bin/sqoop export --connect jdbc:mysql://cloud3:3306/jchubby --username root --password JChubby123 --export-dir "/user/hive/warehouse/vip_$CURRENT" --table vip --fields-terminated-by '\t'

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册