CentOS´î½¨webЧÀÍÆ÷µÄÈÕÖ¾ÖÎÀíÓë¼à¿Ø¼¼ÇÉ
centos´î½¨webЧÀÍÆ÷µÄÈÕÖ¾ÖÎÀíÓë¼à¿Ø¼¼ÇÉ
WebЧÀÍÆ÷ÊÇÏÖ´ú»¥ÁªÍøÓ¦ÓõÄÖ÷Òª×é³É²¿·Ö£¬¶øЧÀÍÆ÷µÄÈÕÖ¾ÖÎÀíÓë¼à¿ØÊÇÈ·±£Ð§ÀÍÆ÷ÎȹÌÔËÐк͹ÊÕÏÅŲéµÄÒªº¦¡£±¾ÎĽ«ÏÈÈÝÔÚCentOS²Ù×÷ϵͳÉÏÔõÑù´î½¨webЧÀÍÆ÷£¬²¢ÌṩһЩÈÕÖ¾ÖÎÀíÓë¼à¿ØµÄ¼¼ÇÉ¡£
Ò»¡¢´î½¨WebЧÀÍÆ÷
×°ÖÃApache
ApacheÊÇÒ»¸öÊ¢ÐеĿªÔ´WebЧÀÍÆ÷Èí¼þ¡£ÔÚCentOSÉÏ×°ÖÃApacheºÜ¼òÆÓ£¬Ö»ÐèÔÚÖÕ¶ËÊäÈëÒÔÏÂÏÂÁî¼´¿É£º
sudo yum install httpd
µÇ¼ºó¸´ÖÆ
ÉèÖÃApache
×°ÖÃÍêApacheºó£¬ÐèÒª¶ÔÆä¾ÙÐÐһЩ»ù±¾ÉèÖá£ÉèÖÃÎļþλÓÚ/etc/httpd/conf/httpd.conf¡£Äã¿ÉÒÔʹÓÃvi»ònanoµÈ±à¼Æ÷·¿ª¸ÃÎļþ¡£
ÀýÈ磬¿É¸ü¸ÄĬÈÏÍøÕ¾µÄ¸ùĿ¼£º
DocumentRoot "/var/www/html"
µÇ¼ºó¸´ÖÆ
Æô¶¯Apache
ÔÚÍê³ÉÉèÖú󣬿ÉÒÔÆô¶¯Apache¡£ÊäÈëÒÔÏÂÏÂÁ
sudo systemctl start httpd
µÇ¼ºó¸´ÖÆ
¶þ¡¢ÈÕÖ¾ÖÎÀí
ÈÕÖ¾ÎļþλÖÃ
ApacheÔÚ/var/log/httpd/Ŀ¼ÏÂÌìÉúÖÖÖÖÈÕÖ¾Îļþ¡£ÒÔÏÂÊÇһЩ³£¼ûµÄÈÕÖ¾Îļþ£º
access_log£º¼Í¼ËùÓÐHTTPÇëÇóµÄÐÅÏ¢£»
error_log£º¼Í¼ЧÀÍÆ÷±¬·¢¹ýʧµÄÐÅÏ¢£»
ssl_access_log£º¼Í¼ËùÓÐHTTPSÇëÇóµÄÐÅÏ¢£»
ssl_error_log£º¼Í¼HTTPSÇëÇ󱬷¢¹ýʧµÄÐÅÏ¢¡£
ÈÕÖ¾ÎļþÇиî
ÓÉÓÚApacheÌìÉúµÄÈÕÖ¾ÎļþºÜÈÝÒ×ÔöÌíµ½ºÜÊÇ´óµÄ¾Þϸ£¬Äã¿ÉÄÜÐèÒª°´ÆÚÇиîÈÕÖ¾ÎļþÒÔ±ãÓÚÖÎÀí¡£LinuxÌṩÁËÒ»¸ö¹¤¾ß£¬½Ð×ölogrotate£¬Ëü¿ÉÒÔÇáËɵØÇиîºÍѹËõÈÕÖ¾Îļþ¡£
Ê×ÏÈ£¬×°ÖÃlogrotate£º
sudo yum install logrotate
µÇ¼ºó¸´ÖÆ
È»ºó£¬½¨ÉèÒ»¸öÃûΪhttpdµÄÈÕÖ¾ÇиîÉèÖÃÎļþ£º
sudo nano /etc/logrotate.d/httpd
µÇ¼ºó¸´ÖÆ
ÔÚ¸ÃÎļþÖУ¬Äã¿ÉÒÔÖ¸¶¨ÈÕÖ¾ÎļþÇиîµÄ¹æÔò¡£ÒÔÏÂÊÇÒ»¸öʾÀýÉèÖãº
/var/log/httpd/access_log { rotate 7 daily missingok compress delaycompress notifempty create 640 root root sharedscripts postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript }
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸öÉèÖÃÖУ¬ÈÕÖ¾Îļþ½«ÌìÌìÂÖתһ´Î£¬²¢±£´æ×î½ü7ÌìµÄ±¸·Ý¡£ÇиîºóµÄÎļþ½«±»Ñ¹ËõºÍ¹éµµ¡£
ÆÊÎöÈÕÖ¾
ÈÕÖ¾Îļþ°üÀ¨¸»ºñµÄÐÅÏ¢£¬¹ØÓÚЧÀÍÆ÷µÄÆÊÎöºÍ¼à¿ØºÜÊÇÓÐ×ÊÖú¡£Äã¿ÉÒÔʹÓÃһЩ¹¤¾ßÀ´ÆÊÎöÈÕÖ¾£¬ÀýÈçAwstats¡¢WebalizerºÍELK StackµÈ¡£
AwstatsºÍWebalizerÊÇÁ½¸öÓÃÓÚÌìÉúÏêϸÍøվͳ¼ÆÐÅÏ¢±¨¸æµÄ¹¤¾ß¡£Äã¿ÉÒÔʹÓÃyumÏÂÁîÀ´×°ÖÃËüÃÇ£º
sudo yum install awstats webalizer
µÇ¼ºó¸´ÖÆ
×°ÖÃÍê³Éºó£¬ÐèÒªÉèÖÃËüÃÇÒÔÆÊÎöApacheµÄÈÕÖ¾Îļþ¡£ÏêϸÉèÖÃÒªÁìÇë²Î¿¼¸÷×ԵĹٷ½Îĵµ¡£
ELK StackÊÇÒ»¸öÇ¿Ê¢µÄÈÕÖ¾ÖÎÀíºÍÆÊÎöƽ̨£¬ËüÓÉElasticsearch¡¢LogstashºÍKibanaÈý¸ö¿ªÔ´¹¤¾ß×é³É¡£Äã¿ÉÒÔʹÓÃELK StackÀ´¼¯Öд洢¡¢ÆÊÎöºÍ¿ÉÊÓ»¯ApacheµÄÈÕÖ¾Êý¾Ý¡£
Èý¡¢¼à¿Ø¼¼ÇÉ
ʹÓüà¿Ø¹¤¾ß
ΪÁËʵʱ·¢Ã÷²¢½â¾öЧÀÍÆ÷µÄ¹ÊÕϺÍÎÊÌ⣬Äã¿ÉÒÔʹÓÃһЩ¼à¿Ø¹¤¾ß£¬ÀýÈçNagios¡¢ZabbixºÍPrometheusµÈ¡£
NagiosÊÇÒ»¸öÆÕ±éʹÓõĻù´¡ÉèÊ©¼à¿Ø¹¤¾ß£¬Ëü¿ÉÒÔ¶ÔÖÖÖÖЧÀͺÍÓ¦ÓþÙÐмà¿Ø£¬²¢Ìṩ¾¯±¨ºÍ±¨¸æ¹¦Ð§¡£Äã¿ÉÒÔÔÚCentOSÉÏ×°ÖÃNagios²¢ÉèÖÃËüÀ´¼à¿ØApacheµÄÔËÐÐ״̬¡£
ZabbixÊÇÒ»¸ö¹¦Ð§Ç¿Ê¢µÄÍøÂç¼à¿Ø¹¤¾ß£¬ËüÖ§³Ö¶ÔЧÀÍÆ÷ÐÔÄܺÍ×ÊÔ´µÄʵʱ¼à¿Ø¡£Äã¿ÉÒÔʹÓÃZabbix¼à¿ØApacheµÄÒªº¦Ö¸±ê£¬ÈçCPUʹÓÃÂÊ¡¢ÄÚ´æʹÓÃÂʺÍÍøÂçÁ÷Á¿µÈ¡£
PrometheusÊÇÒ»¸ö×î½üÊ¢Ðеļà¿Øϵͳ£¬ËüÌṩÁ˸»ºñµÄÄÚÖÃÖ¸±êºÍÎÞаµÄÅÌÎÊÓïÑÔ¡£Äã¿ÉÒÔʹÓÃPrometheus¼à¿ØApacheµÄÐÔÄÜÖ¸±ê£¬²¢Ê¹ÓÃGrafanaµÈ¹¤¾ß¾ÙÐпÉÊÓ»¯¡£
×Ô½ç˵¼à¿Ø¾ç±¾
³ýÁËʹÓÃÏÖÓеļà¿Ø¹¤¾ß£¬Ä㻹¿ÉÒÔ±àд×Ô¼ºµÄ¼à¿Ø½ÅÔÀ´¼à¿ØApache¡£
ÀýÈ磬Äã¿ÉÒÔ±àдһ¸ö¼òÆÓµÄBash¾ç±¾£¬°´ÆÚ¼ì²éApacheµÄÔËÐÐ״̬£¬²¢·¢Ë;¯±¨Óʼþ¸øÖÎÀíÔ±£º
#!/bin/bash # ¼ì²éApacheÊÇ·ñÔËÐÐ if ! pgrep -x "httpd" > /dev/null then # ·¢Ë;¯±¨Óʼþ echo "Apache is not running" | mail -s "Apache Alert" admin@example.com fi
µÇ¼ºó¸´ÖÆ
½«ÉÏÊö¾ç±¾ÉúÑÄΪcheck_apache.sh£¬²¢Ê¹ÓÃcron׼ʱʹÃüÖ´ÐÐËü£º
*/5 * * * * /path/to/check_apache.sh
µÇ¼ºó¸´ÖÆ
¸Ã¾ç±¾½«Ã¿5·ÖÖÓÔËÐÐÒ»´Î£¬²¢¼ì²éApacheÊÇ·ñÔËÐС£ÈôÊÇApacheûÓÐÔËÐУ¬¾ç±¾½«·¢Ë;¯±¨Óʼþ¸øÖÎÀíÔ±¡£
×ܽ᣺
±¾ÎÄÏÈÈÝÁËÔÚCentOS²Ù×÷ϵͳÉϴwebЧÀÍÆ÷µÄ°ì·¨£¬²¢ÌṩÁËһЩÈÕÖ¾ÖÎÀíÓë¼à¿ØµÄ¼¼ÇÉ¡£Í¨¹ýºÏÀíÉèÖÃÈÕÖ¾ÎļþºÍʹÓüà¿Ø¹¤¾ß£¬Äã¿ÉÒÔ¸üºÃµØÖÎÀíºÍά»¤ÄãµÄwebЧÀÍÆ÷£¬°ü¹ÜÆäÎȹÌÔËÐв¢ÊµÊ±·¢Ã÷²¢½â¾öÎÊÌ⡣ͨ¹ý×Ô½ç˵¼à¿Ø¾ç±¾£¬Äã¿ÉÒÔÎÞаµØ¼à¿ØApacheµÄÔËÐÐ״̬¡£Ï£ÍûÕâЩ¼¼ÇɶÔÄãÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇCentOS´î½¨webЧÀÍÆ÷µÄÈÕÖ¾ÖÎÀíÓë¼à¿Ø¼¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡