顯示具有 Server::Monitor Server 標籤的文章。 顯示所有文章
顯示具有 Server::Monitor Server 標籤的文章。 顯示所有文章

2018年10月1日 星期一

在 CentOS / RHEL 7 上,安裝 Graylog 服務

學習目標:
  • 在 CentOS / RHEL 7 Linux 作業系統上,安裝 Graylog 服務!
  • Graylog 為收集系統記錄檔於一部主機上的服務!該服務亦可進行監控與分析的工作!
  • Graylog 安裝的主機名稱定為:Systemlog1 !
Server 設定流程:
  1. 在 Systemlog1主機上,做好升級與事前相關必要軟體安裝工作!
    # yum upgrade
    # yum install epel-release
    # yum install java-1.8.0-openjdk-headless.x86_64
    # yum install pwgen
    
  2. 在 Systemlog1 主機上,安裝 MongoDB 套件:
    # vim mongodb-org-3.6.repo
    [mongodb-org-3.6]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
    
    
    # yum install -y mongodb-org
    # systemctl daemon-reload
    # systemctl enable mongod.service
    # systemctl start mongod.service
    # systemctl status mongod.service -l
    
  3. 在 Systemlog1 主機上,安裝 ElasticSearchDB 套件:
    # rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    # vim /etc/yum.repos.d/elasticsearch.repo
    [elasticsearch-5.x]
    name=Elasticsearch repository for 5.x packages
    baseurl=https://artifacts.elastic.co/packages/5.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md
    
    # yum install elasticsearch
    # vim /etc/elasticsearch/elasticsearch.yml
    (只修改需要改的部份)
    cluster.name: graylog
    
    # systemctl enable elasticsearch.service
    # systemctl restart elasticsearch.service
    # systemctl status elasticsearch.service -l
    
  4. 在 Systemlog1 主機上,下載安裝 Graylog 套件:
    # rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm
    # yum install graylog-server
    # pwgen -N 1 -s 96 (產生密碼給 password_secret 使用)
    # echo -n yourpassword | shasum -a 256 (產生密碼給 root_password_sha2 使用)
    # vim /etc/graylog/server/server.conf
    (只修改需要修改的部份...)
    password_secret = (pwgen 產生的密碼)
    root_username = admin
    root_password_sha2 = (shawum 產生的密碼)
    root_timezone = Asia/Taipei
    rest_listen_uri = http://127.0.0.1:9000/api/
    web_listen_uri = http://127.0.0.1:9000/
    
    # systemctl enable graylog-server.service
    # systemctl start graylog-server.service
    # yum install policycoreutils-python
    # systemctl status graylog-server.service -l (啟動應該會失敗!)
    
  5. 在 Systemlog1 主機上,修改 SELinux 設定:
    # setsebool -P httpd_can_network_connect 1
    # semanage port -a -t http_port_t -p tcp 9000
    # semanage port -a -t http_port_t -p tcp 9200
    # semanage port -a -t mongod_port_t -p tcp 27017
    # less /var/log/messages (找到 sealert 部份)
    # sealert -l XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
    # ausearch -c 'ftdc' --raw | audit2allow -M my-ftdc
    # ausearch -c 'ftdc' --raw | audit2allow -M my-ftdc
    # systemctl restart graylog-server.service
    # systemctl status graylog-server.service -l
    
  6. 在 Systemlog1 主機上,修改 Firewall 設定:
    # firewall-cmd --add-port=9000/tcp
    # firewall-cmd --add-port=8514/tcp
    # firewall-cmd --add-port=514/tcp
    # firewall-cmd --list-all
    
  7. 在 Systemlog1 主機上,使用 firefox ,連線 http://127.0.0.1:9000 即可登入!

Client 設定流程:
  1. 在 Clients 主機上,修改 rsyslog 設定檔:
    # vim /etc/rsyslog.conf
    (只修改需要的項目:)
    #### GLOBAL DIRECTIVES ####
    *.* @@Systemlog1:8514;RSYSLOG_SyslogProtocol23Format
    
    # systemctl restart rsyslog
    

參考文獻:
  • 官方安裝文件:http://docs.graylog.org/en/2.4/pages/installation/os/centos.html

2017年8月24日 星期四

在 CentOS / RHEL 7 上架設 ntopng 流量監控服務

學習目標:
  • 安裝 ntopng 套件,以利即時監控網路流量!
  • 配合 nProbe 套件,可收集 Cisco 的 NetFlow 資料!
操作流程:
  1. 安裝 ntopng 的 repository 套件:
    # cd /etc/yum.repos.d/
    # wget http://packages.ntop.org/centos-stable/ntop.repo -O ntop.repo
    
  2. 安裝 epel 的 repository 相闗套件:
    # wget http://packages.ntop.org/centos-stable/epel-7.repo -O epel.repo
    
  3. 安裝 ntopng 的套件:
    # yum erase zeromq3
    # yum clean all
    # yum update
    # yum install pfring n2disk nprobe ntopng ntopng-data cento
    # yum install pfring-drivers-zc-dkms
    
  4. 安裝 ntopng 的套件:
    # systemctl enable redis.service
    # systemctl start redis.service
    # systemctl enable ntopng.service
    # systemctl start ntopng.service
    
  5. 修改 ntopng 的設定檔:
    # echo "--community" >> /etc/ntopng/ntopng.conf
    
  6. 修改防火牆設定:
    # firewall-cmd --permanent --add-port=6379/tcp
    # firewall-cmd --permanent --add-port=3000/tcp
    # firewall-cmd --reload
    
  7. 利用瀏覽器登入系統:
    # firefox http://localhost:3000 &
    (登入帳密 admin/admin)
    
  • http://www.ovirt.org/download/
  • https://hostingwikipedia.com/setup-ntop-centos-7/
  • http://www.shunze.info/forum/thread.php?threadid=1881&boardid=3&sid=6a0352223f535ea7cdcad64847ee7e82
  • http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=687452&blogId=25793
  • http://figaro.neo-info.net/?p=1411
  • https://www.plixer.com/blog/netflow/how-to-configure-windows-nprobe-to-send-netflow/
  • http://jingyan.baidu.com/article/3a2f7c2e2ca70026afd6110d.html

2017年6月7日 星期三

在 CentOS 7 / RHEL 7上,安裝 LibreNMS 服務

學習目標:
  • 安裝 LibreNMS 套件,以利監控系統狀況!
操作流程:
  1. 安裝 DataBase 相關套件:
    # yum install mariadb-server mariadb
    # systemctl start mariadb
    # firewall-cmd --permanent --add-service=mysql
    # firewall-cmd --reload
    # mysql_secure_installation
    
  2. 建立 DataBase 內容:
    # mysql -uroot -p
    MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit;
    
  3. 設定 DataBase 相關參數內容:
    # vim /etc/my.cnf.d/server.cnf
    (只新增必要的..)
    [mysqld]
    innodb_file_per_table=1
    sql-mode=""
    :
    
  4. 設定 DataBase 啟動:
    # systemctl enable mariadb  
    # systemctl restart mariadb
    
  5. 安裝與設定 Apache 與相關套件:
    # yum install epel-release
    # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    
    # yum install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common httpd net-snmp mariadb ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie php70w-mcrypt fping git
    
    # pear install Net_IPv4-1.3.4
    # pear install Net_IPv6-1.2.2b2
    
  6. 編修 php.ini 時區設定值:
    #vim /etc/php.ini
    date.timezone = "Asia/Taipei"
    
  7. 在系統上新增 LibreNMS 的專屬使用者:
    # useradd librenms -d /opt/librenms -M -r
    # usermod -a -G librenms apache
    
  8. 下載 LibreNMS 套件:
    # cd /opt
    # git clone https://github.com/librenms/librenms.git librenms
    
  9. 設定 Web 站台相關設定:
    #cd /opt/librenms
    #mkdir rrd logs
    #chmod 775 rrd
    # vim /etc/httpd/conf.d/librenms.conf
    <VirtualHost *:80>
      DocumentRoot /opt/librenms/html/
      ServerName  librenms.example.com
      CustomLog /opt/librenms/logs/access_log combined
      ErrorLog /opt/librenms/logs/error_log
      AllowEncodedSlashes NoDecode
      <Directory "/opt/librenms/html/">
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews
      </Directory>
    </VirtualHost>
  10. 更動 SELinux 設定:
    # yum install policycoreutils-python
    # semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?'
    # semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?'
    # restorecon -RFvv /opt/librenms/logs/
    # setsebool -P httpd_can_sendmail=1
    # setsebool -P httpd_can_network_connect=1
    
  11. 防火牆設定:
    # firewall-cmd --zone=public --add-service=http
    # firewall-cmd --permanent --zone=public --add-service=http
    
  12. 啟動 Apache:
    # systemctl enable httpd
    # systemctl restart httpd
    
  13. 利用 firefox 打開網頁:
    (網址:http://librenms.example.com)
    PS:少裝一些套件時,網頁提醒你要 run ./scripts/composer_wrapper.php install --no-dev 時,請切回文字介面執行提示的指令!

    按下圖中的 Next Stage
  14. 輸入資料庫帳密:

    需要稍等一些時間,讓程式自動建立資料庫內相關表格!

    若無任何錯誤,即可新增使用者!
  15. 使用者新增之後,即可產生設定檔:

  16. 接下來的 config.php 檔案內容,可以手動建立:
    放置目錄 /opt/librenms/

    手動新增檔案後,即可按下 finish !
  17. 接下來即可登入系統:
  18. 登入畫面:

  19. 手動修正 config.php 內容:
    #vim /opt/librenms/config.php
    (加入下列設定...)
    $config['fping'] = "/sbin/fping";
    
  20. 修改 SNMP 設定參數:
    #cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
    #vim /etc/snmp/snmpd.conf
    (把 RANDOMSTRINGGOESHERE 改成你想要的名稱...)
    com2sec readonly  default    public # 原來是 RANDOMSTRINGGOESHERE
    syslocation Taipei, Taiwan # 原來是 Rack, Room, Building, City, Country [GPSX,Y]
    syscontact root@localhost # 原來是 Your Name 
    
  21. LibreNMS 官方很貼心的準備了一支 Shell Scripts 程式,用來偵作業系統平台,可裝可不裝:
    #curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
    #chmod +x /usr/bin/distro
    #systemctl restart snmpd
    #systemctl enable snmpd
    
  22. LibreNMS 官方也很貼心的準備了一個工作排程Shell Scripts 程式:
    #cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
    
  23. LibreNMS 官方也很貼心的準備了一個轉檔的Shell Scripts 程式,用來轉出 logs 目錄下的記錄檔:
    #cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
    
  24. 最後一些小動作:
    #chown -R librenms:librenms /opt/librenms
    #systemctl enable httpd mariadb
    #cd /opt/librenms
    #./validate.php
    
  25. 完成後,記得登入,將 localhost 作為你預設的第一個監控的主機!

    參考文獻:
  • http://docs.librenms.org/Installation/Installation-CentOS-7-Apache/#db-server
  • http://jasontools.blogspot.tw/2017/06/librenms-networkmanager-good.html
  • https://docs.librenms.org/Installation/Installation-CentOS-7-Nginx/

2017年5月25日 星期四

在 CentOS 7 / RHEL 7上,安裝 SNMP 服務

學習目標:
  • 安裝 SNMP 服務,以利系統監控!
操作流程:
  1. 系統安裝相關套件:
    # yum install net-snmp net-snmp-utils
    
  2. 修改設定檔內容:
    # mv /etc/snmp/snmp.conf /etc/snmp/snmp.org
    # vim /etc/snmp/snmp.conf
    com2sec local            localhost       public
    com2sec localnet         192.168.0.0/16  public  (public建議修改為其他的帳號)
    
    group   MyRWGroup v1            local
    group   MyROGroup v1            localnet
    
    group   MyROSystem v1           local
    group   MyROSystem v2c          local
    group   MyROSystem usm          local
    
    group   MyROGroup v1            localnet
    group   MyROGroup v2c           localnet
    group   MyROGroup usm           localnet
    
    group   MyRWGroup v1            local
    group   MyRWGroup v2c           local
    group   MyRWGroup usm           local
    
    view    systemview    included   .1.3.6.1.2.1.1
    view    systemview    included   .1.3.6.1.2.1.25.1.1
    view    all    included   .1 80
    
    access  MyROGroup ""      any       noauth    prefix  all none none
    access  MyRWGroup ""      any       noauth    prefix  all all  all
    
    # 位置及裝置資訊
    sysName monitor_server1  (主機裝置名稱)
    syslocation Taiwan_Taipei_IDC   (所在位置資訊)
    syscontact lubida@hiname.net (聯絡人資訊)
    
  3. 處理一下 SELinux 的限制:
    # chcon --reference=snmpd.org snmpd.conf
    
  4. 開啟防火牆設定:
    # firewall-cmd --permanent --add-port=161/udp
    # firewall-cmd --reload
    
  5. 啟動 SNMP 服務:
    # systemctl start snmpd.service
    # systemctl enable snmpd.service
    # systemctl status snmpd.service
    
  6. 利用指令,查詢一下 snmp 是否有正常輸出資料:
    # netstat -auntp | grep snmp
    # snmpwalk -c public -v 2c 192.168.0.1 
    

參考文獻:
  • http://blog.jangmt.com/2015/09/centos-7-snmpd-centos-7-snmp-install.html
  • http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=650585&blogId=25793
  • https://www.svennd.be/how-to-install-snmp-service-on-centos-7-2/

2017年5月24日 星期三

在CentOS/RHEL7上,安裝 Netdata 監控程式

學習目標:
  • 安裝 netdata ,以利系統監控!
操作流程:
  1. 系統事先安裝相關套件:
    # yum install epel-release
    # yum install autoconf automake curl gcc git libmnl-devel libuuid-devel lm_sensors make MySQL-python nc pkgconfig python python-psycopg2 PyYAML zlib-devel
    
  2. 利用 git 取得 netdata 套件:
    # cd /opt
    # git clone https://github.com/firehol/netdata.git --depth=1
    
  3. 利用 netdata 套件中的安裝程式,進行軟體編譯與安裝:
    # cd netdata
    # ./netdata-installer.sh
    
  4. 安裝 netdata 套件過程中,可指定安裝目錄:
    按下Enter,就會按照上述設定,進行安裝工作!
  5. 開啟 Kernel 的 KSM 功能:
    # echo 1 >/sys/kernel/mm/ksm/run
    # echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
    
  6. 開啟防火牆設定:
    # firewall-cmd --permanent --add-port=19999/tcp
    # firewall-cmd --reload
    
  7. 打開瀏覽器,輸入IP位置以及 19999 port: http://127.0.0.1:19999
  8. 啟動與關閉 Netdata 服務:
    # systemctl start netdata
    # systemctl stop netdata
    

參考文獻:
  • https://github.com/firehol/netdata/wiki/Installation
  • http://blog.itist.tw/2017/05/real-time-performance-monitoring-with-netdata-on-raspberry-pi.html
  • https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04

2017年1月25日 星期三

在 CentOS7/RHEL7 上,安裝 POWA 監控 PostgreSQL Server !!

設定目標:
  • 利用 POWA 套件,監控 PostgreSQL Server!
    • 請參考這一篇的設定,架設好 PostgreSQL Server!
PostgreSQL Server 受監控端設定流程:
  1. 利用 yum 安裝 POWA 以及相關需要的套件:
    #yum -y install powa_95 pg_qualstats95 pg_stat_kcache95 hypopg_95
    
  2. 修改 postgresql.conf 檔案:
    #su - postgres
    $vim /var/lib/pgsql/9.5/data/postgresql.conf
    (修改下列參數:)
    shared_preload_libraries = 'pg_stat_statements,powa,pg_stat_kcache,pg_qualstats'
    :
    :
    (存檔後,離開!)
    $ exit
    
  3. 重新啟動 PostgreSQL Server:
    #systemctl restart postgresql-9.5
    
  4. 切換至 postgres 使用者:
    #su - postgres
    
  5. 建立 powa 資料庫:
    $ psql postgres -c "CREATE DATABASE powa"
    
  6. 登入到 powa 資料庫,建立該有的延伸功能:
    $ psql
    postgres=# \connect powa
    You are now connected to database "powa" as user "postgres".
    powa=#CREATE EXTENSION pg_stat_statements;
    CREATE EXTENSION
    powa=# CREATE EXTENSION btree_gist;
    CREATE EXTENSION
    powa=# CREATE EXTENSION powa;
    CREATE EXTENSION
    powa=# CREATE EXTENSION pg_qualstats;
    CREATE EXTENSION
    powa=# CREATE EXTENSION pg_stat_kcache;
    CREATE EXTENSION
    powa=# CREATE EXTENSION hypopg;
    CREATE EXTENSION
    powa=# \q
    
    若是使用 PostgreSQL Cluster 功能,則必須加裝 hypopg 延伸套件!
  7. 授予 powa 使用者,以管理者身份使用 powa 資料庫:
    $ psql -c "CREATE ROLE powa SUPERUSER LOGIN PASSWORD 'powa'"
    

PostgreSQL Server 主控端設定流程:
  1. (略過步驟...)
  2. 利用 yum 安裝 Powa-Web 以及相關需要的套件:
    #yum -y install powa_95-web
    
  3. 修改 Powa-Web 設定檔,加入受監控端 PostgreSQL Server 相關資料:
    #vim /etc/powa-web.conf
    servers={
      'main': {
        'host': '127.0.0.1',
        'port': '5432',
        'username': 'powa',
        'password': 'yourpassword',
        'database': 'powa',
        'query': {'client_encoding': 'utf8'}
      },
      'allinone': {
        'host': '192.168.1.1',
        'port': '5432',
        'database': 'powa',
        'query': {'client_encoding': 'utf8'}
      }
      (可繼續追加設定於此.....)
    }
    cookie_secret="SECRET_STRING"
    
  4. 重新啟動 Web 服務:
    #systemctl restart httpd
    

參考文獻:
  • http://powa.readthedocs.io/en/latest/quickstart.html#install-powa-archivist-on-the-postgresql-instance-on-rhel-centos

2017年1月8日 星期日

在 CentOS7/RHEL7 上,安裝 Monitorix 監控系統

設定提要:
  • Apache Web 以及 php 套件安裝,請參考這一篇
  • Mariadb (或是MySQL) Server 安裝,請參考這一篇
快速設定流程:
  1. 安裝 EPEL 套件:
    #yum install epel-release
    #yum upgrade epel-release
    
  2. 利用 YUM ,安裝 monitorix:
    #yum install monitorix
    
  3. 啟動 monitorix:
    #systemctl start monitorix
    
  4. 利用 firefox ,打開 http://localhost:8080 網頁即可!

  5. 監控多部主機:
  6. 在每一個被監控主機上,安裝 moitorix 套件:
    #yum install epel-release
    #yum upgrade epel-release
    #yum install monitorix
    #systemctl start monitorix
    
  7. 在監控主機上,設定 multihost 項目參數:
    #vim /etc/monitorix/monitorix.conf
    <multihost>
            enabled = y
            footer_url = y
            graphs_per_row = 2
            remotehost_list = Server1, Server2
            <remotehost_desc>
                 0 = http://www.example.com,/monitorix,/monitorix-cgi
                 1 = http://192.168.0.100:8080,/,/
            </remotehost_desc>
    
            groups = n
            remotegroup_list = My Group
            <remotegroup_desc>
                  0 = Server1, Server2
            </remotegroup_desc>
    </multihost>
    
  8. 在監控主機上,重新啟動 monitorix:
    #systemctl restart monitorix
    

參考文獻:
  • http://www.monitorix.org/doc-redhat.html

2016年9月20日 星期二

在 CentOS7/RHEL7 上安裝 Nagios (for Apache)

設定提要:
  • 利用 Nagios 即時監控系統資源運作情形!
  • 利用 Apache 作為 Web 平台!可參考這一篇,安裝 LAMP 平台!
Server 端(監控端)快速設定流程:
  1. 利用 yum 進行 EPEL 套件安裝升級:
    #yum udpate epel-release
    
  2. 安裝 Nagios 與 Plugin 套件:
    #yum install nagios nagios-plugins-* httpd-tools
    
  3. 編寫相關 Nagios 的設定檔:
    # vim /etc/httpd/conf.d/nagios.conf
    (增加下列設定:)
    Require ip 127.0.0.1 192.168.100.0/24
    
  4. 設定 Web 帳密驗證:
    #htpasswd /etc/nagios/passwd nagiosadmin
    
  5. 起動 Nagios :
    #systemctl enable nagios
    #systemctl start nagios
    #systemctl restart httpd
    
  6. 利用 firefox ,連到網頁: http://自己的IP/nagios ,即可看見網頁!
Client 端(被監控端)快速設定流程:
  1. 在 Client 端主機上,利用 yum 進行 EPEL 套件安裝升級:
    #yum udpate epel-release
    
  2. 在 Client 端主機上,安裝 NRPE 與 Plugin 套件:
    #yum install nrpe nagios-plugins-*
    
  3. 在 Client 端主機上,編寫相關 NRPE 的設定檔:
    # vim /etc/nagios/nrpe.cfg
    (增加下列設定:)
    allowed_hosts=127.0.0.1,192.168.100.250
    dont_blame_nrpe=1
    command[check_users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$
    command[check_load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
    command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
    command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
    
  4. 在 Client 端主機上,起動 NRPE :
    #systemctl enable nrpe
    #systemctl start nrpe
    
  5. 在 Client 端主機上,打開防火牆設定:
    #firewall-cmd --add-port=5666/tcp --permanent
    #firewall-cmd --reload
    
  6. 在 Server 端主機上,安裝 Nagios 的 NRPE Plugin 套件:
    #yum install nagios-plugins-nrpe
    
  7. 在 Server 端主機上,修改 Nagios 相關設定:
    #vim /etc/nagios/objects/commands.cfg
    (在檔尾加入下列設定:)
    define command{
            command_name check_nrpe
            command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
    
  8. 在 Server 端主機上,編寫被監控端的監控設定:
    #vim /etc/nagios/conf.d/node01.cfg
    
    define host{
        use                    linux-server
        host_name              node01
        alias                  node01
        address                192.168.100.1
        }
    define service{
        use                    generic-service
        host_name              node01
        service_description    PING
        check_command          check_ping!100.0,20%!500.0,60%
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Root Partition
        check_command          check_nrpe!check_disk\!20%\!10%\!/
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Current Users
        check_command          check_nrpe!check_users\!20\!50
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Total Processes
        check_command          check_nrpe!check_procs\!250\!400\!RSZDT
        }
    
    define service{
        use                    generic-service
        host_name              node01
        service_description    Current Load
        check_command          check_nrpe!check_load\!5.0,4.0,3.0\!10.0,6.0,4.0
        }
    
  9. 在 Server 端主機上,重新起動 Nagios :
    #systemctl restart nagios
    
參考文獻:
  • https://www.server-world.info/en/note?os=CentOS_7&p=nagios&f=1

在 CentOS7/RHEL7 上安裝 Nagios (for Nginx)

設定提要:
  • 利用 Nagios 即時監控系統資源運作情形!
  • 利用 Nginx 作為 Web 平台
快速設定流程:
  1. 利用 yum 進行相關套件安裝:
    #yum -y httpd-tool gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip spawn-fcgi perl-FCGI fcgi fcgi-devel
    
  2. 設定 Nagios 專用帳號與群組:
    #useradd nagios
    #passwd nagios
    #groupadd nagcmd
    #usermod -a -G nagcmd nagios
    #usermod -a -G nagcmd nginx
    
  3. 下載 Nagios 的最新版本:
    # cd /tmp
    #wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.1.tar.gz
    #wget https://nagios-plugins.org/download/nagios-plugins-2.1.3.tar.gz
    
  4. 解開 Nagios 壓縮檔:
    #tar zxvf nagios-4.2.1.tar.gz
    #tar zxvf nagios-plugins-2.1.3.tar.gz
    
  5. 編譯 Nagios 原始碼:
    #cd nagios-4.2.1
    #./configure --sysconfdir=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-user=nagios --with-command-group=nagcmd
    #make all
    #make install
    #make install-init
    #make install-commandmode
    
  6. 編譯 Nagios-plugins 原始碼:
    #cd ../nagios-plugins-2.1.3
    #./configure --with-nagios-user=nagios --with-nagios-group=nagios
    #make all
    #make install
    
  7. 修改 Nagios 相關設定檔:
    #vim /etc/nagios/nagios.cfg
    (修改下列設定:)
    log_file=/var/log/nagios/nagios.log
    
  8. 配合設定檔,新增目錄及檔案:
    #mkdir /var/log/nagios
    #touch /var/log/nagios/nagios.log
    #chown -R nagios:nagios /var/log/nagios/
    
  9. 新增帳密,鎖住 Nagios 網頁:
    #htpasswd -cb /etc/nagios/htpasswd.users nagiosadmin !AGoodPassword
    
  10. 設定 fcgiwrap:
    #cd /etc/yum.repos.d/
    #wget https://copr.fedorainfracloud.org/coprs/jorti/fcgiwrap/repo/epel-7/jorti-fcgiwrap-epel-7.repo
    #yum install fcgiwrap
    #vim /etc/init.d/fcgiwrap
    (編寫內容如下:)
    #!/usr/bin/perl
    
    use strict;
    use warnings FATAL => qw( all );
    
    use IO::Socket::UNIX;
    
    my $bin_path = '/usr/sbin/fcgiwrap';
    my $socket_path = $ARGV[0] || '/tmp/cgi.sock';
    my $num_children = $ARGV[1] || 1;
    
    close STDIN;
    
    unlink $socket_path;
    my $socket = IO::Socket::UNIX->new(
        Local => $socket_path,
        Listen => 100,
    );
    
    die "Cannot create socket at $socket_path: $!\n" unless $socket;
    
    for (1 .. $num_children) {
        my $pid = fork;
        die "Cannot fork: $!" unless defined $pid;
        next if $pid;
    
        exec $bin_path;
        die "Failed to exec $bin_path: $!\n";
    }
    (存檔後離開)
    # chmod +x /etc/init.d/fcgiwrap 
    #vim /etc/rc.local
    (加入下列該行指令:)
    sudo -u nginx /etc/init.d/fcgiwrap
    
  11. 設定 Nginx 內容:
    #cd /etc/yum.repos.d/
    
    
  12. 起動 Nagios :
    #
    #chmod +x /etc/init.d/nagios
    #chkconfig --add nagios
    #service nagios start
    
參考文獻:
  • http://www.phpini.com/linux/rhel-centos-7-install-nagios
  • https://assets.nagios.com/downloads/nagioscore/docs/Nagios-Core-Installing-On-Centos7.pdf
  • http://unix.rocks/2014/nginx-and-nagios-a-howto/
  • https://copr.fedorainfracloud.org/coprs/jorti/fcgiwrap/
  • https://blog.linuxeye.com/312.html
  • http://idevit.nl/node/93

2016年8月2日 星期二

在 CentOS7 / RHEL7 上使用 Collectd 外掛套件

設定目標:
  • 開啟 Collectd 外掛程式,即時監控多部系統主機資源運作情形!
  • 相關 Collectd 套件安裝方式,請參考這一篇內容
快速設定流程:
  1. 利用 yum 進行相關套件安裝(Server、Client端均需要安裝):
    #yum -y install collectd-netlink
    
  2. 編修 Server 端設定:
    #vim /etc/collectd.conf
    LoadPlugin network
    <Plugin network>
       Listen "192.168.1.63"
       <Listen "192.168.1.63">
          SecurityLevel None
       </Listen>
    </Plugin>
    
  3. 重新啟動 Collectd 服務:(Server)
    #systemctl restart collectd
    
  4. 設定 SELinux:(Server)
    #setsebool -P collectd_tcp_network_connect on
    
  5. 設定防火牆:(Server)
    #firewall-cmd --permanent --add-port=udp/25826
    #firewall-cmd --permanent --add-port=tcp/25826
    #firewall-cmd --reload
    
  6. 編修 Client 端設定:
    vim /etc/collectd.conf
    LoadPlugin network
    <Plugin network>
         Server "192.168.1.63"
         <Server "192.168.1.63">
                SecurityLevel None
         </Server>
    </Plugin>
    
  7. 重新啟動 Collectd 服務:(Client)
    #systemctl restart collectd
    
  8. 設定 SELinux:(Client)
    #setsebool -P collectd_tcp_network_connect on
    
  9. 驗證方式(Server、Client端均可使用):
    #netstat -tunlp | grep collect
    

2016年7月25日 星期一

在 CentOS7/RHEL7 上架設 Piwik

設定目標:
  • 在 Centos 7 上安裝 Piwik 套件,監控 Web 主機網路流量!
    • 請參考這一篇的設定,架設好 Web Server!
    • 請參考這一篇的設定,架設好 Mariadb Server !
快速設定流程:

  1. 上網抓下 piwik 套件:
    #wget https://builds.piwik.org/piwik.zip
    
  2. 解開 piwik 套件:
    #unzip piwik.zip
    
  3. 建立 piwik 快取目錄:
    # mkdir -p /var/www/html/piwik/tmp/cache/tracker/
    # chmod -R 777 /var/www/html/piwik/tmp/
    
  4. 利用 firefox 來進行安裝 piwik 的工作:
    #firefox 127.0.0.1/piwik
    

  5. 開始進行安裝畫面:

  6. 按照網頁上的要求,給予適當的設定:

  7. 輸入 MySQL 資料庫相關設定:

  8. 設定好資料庫相關資料後,會建行表格建立:

  9. 輸入管理者帳密:

  10. 輸入站台相關資料:

  11. Piwik 團隊提醒使用者,為了方便追踪流量,可以把下列程式,放入網頁程式入!如果需要用於大流量的網站,必須要求助 Piwik 團隊,他們會給予更快的程式碼!

  12. 安裝完成:

  13. 登入畫面的介面:

參考文獻:

  1. https://piwik.org/docs/installation/

2016年7月23日 星期六

Nginx 的監控程式

網路資源:

  1. https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/
  2. https://www.datadoghq.com/blog/how-to-monitor-nginx/
  3. https://blog.serverdensity.com/monitor-nginx/
  4. https://easyengine.io/tutorials/nginx/status-page/
  5. https://www.scalyr.com/community/guides/how-to-monitor-nginx-the-essential-guide
  6. http://www.slideshare.net/serverdensity/how-to-monitor-nginx

2016年5月27日 星期五

在 CentOS7/RHEL7 上架設 MRTG 主機網路流量監控系統

設定目標:
  • 在 Centos 7 上安裝 MRTG 系統,監控主機網路流量!
    • 請參考這一篇的設定,架設好 Web Server!
快速設定流程:
  1. 利用 yum 安裝
    #yum install 
    

參考文獻:

  1. http://www.server-world.info/en/note?os=CentOS_7&p=mrtg&f=1

在 CentOS7/RHEL7 上架設 Cacti 主機監控系統

設定目標:
  • 在 Centos 7 上安裝 Cacti 套件,監控主機狀態!
    • 請參考這一篇的設定,架設好 Web Server!
    • 請參考這一篇的設定,架設好 Mariadb Database Server!
快速設定流程:
  1. 利用 yum 安裝
    #yum -y install epel-release
    #yum -y update epel-release
    #yum -y upgrade
    #yum -y install httpd mariadb-server php php-mysql php-pear php-gd php-mbstring net-snmp net-snmp-utils rrdtool
    #yum -y install cacti
    
  2. 在 MariaDB 上,新增一組帳密/資料庫給 Cacti 使用:
    # mysql -u root -p
    MariaDB [(none)]> create database cacti;
    MariaDB [(none)]> grant all privileges on cacti.* to cacti@localhost identified by `你的密碼`;
    MariaDB [mysql]> exit;
    
  3. 匯入 cacti 資料表:
    #mysql -u cacti -p -A cacti < /usr/share/doc/cacti-0.8.8h/cacti.sql
    (沒錯誤訊息,表示正確!)
    
  4. 設定 Web Site 相關設定參數:
    #vim /etc/httpd/conf.d/cacti.conf
    Alias /cacti    /usr/share/cacti
    
    <Directory /usr/share/cacti/>
            <IfModule mod_authz_core.c>
                    # httpd 2.4
                    Require host localhost
                    Require all granted
            </IfModule>
            .........
    </Directory>
    
    
  5. 修改 Cacti 網頁設定檔:
    #vim /etc/cacti/db.php
    .........
    $database_username = "cacti";
    $database_password = "你的密碼";
    .........
    
  6. 修改 PHP 設定檔:
    #vim /etc/php.ini
    .........
    date.timezone = Asia/Taipei
    .........
    
  7. 修改 Crontab 設定檔:
    #vim /etc/cron.d/cacti
    (取消註解)
    */5 * * * *     cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
    
  8. 啟動 Web 以及 Snmp 服務:
    #systemctl enable httpd
    #systemctl start httpd
    #systemctl enable snmpd
    #systemctl start snmpd
    
  9. 利用 firefox ,連線 cacti 網頁:
    #firefox http://localhost/cacti
    
    出現第一次登入頁面!

  10. 設定資料庫資料!

  11. 修正錯誤的地方,完成 cacti 設定:

  12. Cacti 登入畫面:

  13. PS:預設帳密 admin/admin
  14. 登入後,立即被要求改密碼:

  15. Very 寫意的畫面:

參考文獻:


  1. http://www.server-world.info/en/note?os=CentOS_7&p=cacti&f=1