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年5月10日 星期三

在 CentOS / RHEL 7 上,架設多個 Redis 服務 !!

學習目標:
  • 利用不同的 port ,啟動多個 Redis 服務!
  • 架設 Redis Server ,請參考這一篇
操作流程:
  1. 複製主要設定檔:
    # cp -a /etc/redis.conf /etc/redis6479.conf
    
  2. 編修設定檔 /etc/redis6479.conf:
    # vim /etc/redis6479.conf
    (修改下列項目...)
    port 6479
    tcp-backlog 611
    pidfile /var/run/redis_6479.pid
    logfile /var/log/redis/redis_6479.log
    
  3. 修正設定檔 /etc/redis6479.conf 權限:
    # chown redis /etc/redis6479.conf
    
  4. 切換到系統服務目錄,修改設定檔:
    # cd /usr/lib/systemd/system/
    # cp -a redis.service redis6479.service
    # vim redis6479.service
    (修改下列項目...)
    ExecStart=/usr/bin/redis-server /etc/redis6479.conf --daemonize no
    ExecStop=/usr/libexec/redis-shutdown redis6479
    
  5. 切換到系統服務目錄的設定目錄,新增設定目錄:
    #cd /etc/systemd/system/
    # cp -a redis.service.d/ redis6479.service.d/
    
  6. 新增記錄檔:
    #touch /var/log/redis/redis_6479.log
    # chown redis.redis /var/log/redis/redis_6479.log
    
  7. SELinux 的設定與修正:
    #chcon --reference=/etc/redis.conf /etc/redis6479.conf
    #chcon --reference=/usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis6479.service
    #chcon -R --reference=/etc/systemd/system/redis.service.d/ /etc/systemd/system/redis6479.service.d/
    #chcon --reference=/var/log/redis/redis.log /var/log/redis/redis_6479.log
    #semanage port -a -t redis_port_t -p tcp 6479
    #semanage port -l | grep redis
    
  8. 防火牆設定:
    #firewall-cmd --permanent --add-port=6479/tcp
    #firewall-cmd --reload
    
  9. 啟動服務:
    #systemctl enable redis6479.service
    # systemctl start redis6479.service
    # systemctl status redis6479.service -l
    
  10. 測試服務:
    # redis-cli -p 6479 -a 123456
    127.0.0.1:6479> exit
    

參考文獻:
  • https://www.cnyunwei.cc/archives/996
  • https://read01.com/eE2GGK.html
  • http://wangxin123.com/2016/09/18/Redis%E5%A4%9A%E5%AE%9E%E4%BE%8B%E5%8F%8A%E4%B8%BB%E4%BB%8E%E6%90%AD%E5%BB%BA/

2017年5月4日 星期四

在 CentOS7/RHEL7 上,遠端操作 X Window 程式!

學習目標:
  • 利用 ssh 指令登入遠端主機後,使用遠端主機的 X window 程式!
操作流程:練習(一)
  1. 連線至遠端主機:
    $ ssh -X student@remotehost.ip
    
  2. 修改遠端主機的 sshd 設定:
     $sudo vim /etc/ssh/sshd_config
    (...其他略過...)
    X11Forwarding yes
    
  3. 修改遠端主機的 ssh 設定:
     $sudo vim /etc/ssh/ssh_config
    (...其他略過...)
    Host *
        ForwardX11 yes
    
  4. 重新啟動遠端主機 sshd 服務:
     $sudo systemctl restsart sshd
    
  5. 如果出現「X11 connection rejected because of wrong authentication.」,可在遠端主機上,利用下列指令:
     $sudo xauth merge /home/student/.Xauthority
    
  6. 執行遠端主機 X window 程式:
     $sudo virt-manager &