2022年9月3日

RouterOS CPU效能監控發送即時告警

CPU效能監控發送即時告警,DeviceAverageLoadThreshold設定為CPU平均用量超過40%,送出Slack告警通知

/system scheduler

add interval=5m name=CPUOverloadCheck on-event=":local ScriptName \"CPUOverloadCheck\";\r\

    \n:local ScriptRunning [system script job find where script=\$ScriptName];\r\

    \n:if (\$ScriptRunning) do={\r\

    \n    :log info \"The script \$ScriptName cannot be run, the script is already running (Change the NumberOfMeasurements to redu\

    ce the script)\";\r\

    \n} else={\r\

    \n    /system script run \$ScriptName;\r\

    \n}" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup

(繼續閱讀...)

2022年8月26日

RouterOS SCP備份Script

 #For SCP Backup
/system backup save name=full
:local strid (:put ([/system identity get name] . ".backup"));
:put $strid;
/tool fetch upload=yes url="sftp://10.77.21.41/home/autobackup/ROS-Backup/$strid" user=autobackup password=dafsdfXX13X src-path=full.backup src-address=10.33.41.26

(繼續閱讀...)

2022年8月10日

Cacti 指令加入監控device

先用下方指令找出對應的template ID的對應

php -q /var/www/html/cacti/cli/add_graph_template.php --list-hosts

php -q /var/www/html/cacti/cli/add_tree.php --list-hosts

建立設備清單對應表
[root@LAB ~]# vi ROSID
10.233.88.21 ROS-CHT-03-DCLAB
10.233.88.22 ROS-CHT-04-DCLAB
10.233.88.23 ROS-CHT-05-DCLAB
10.233.88.24 ROS-TFN-17-DCLAB
10.233.88.25 ROS-TFN-18-DCLAB
10.233.88.26 ROS-TFN-19-DCLAB
10.233.88.27 ROS-TFN-20-DCLAB
10.233.88.28 ROS-TFN-21-DCLAB

(繼續閱讀...)

2021年10月24日

ElastiFlow + Grafana 分析流量應用

工作早期使用的Neflow分析軟體NfSen太舊了(官方已無更新),加上新版的瀏覽器無法完全支援,索性將全部的Netflow網管主機換成比較新的分析軟體ElastiFlow來收集資料,然後再用 Grafana 去畫出自己想要的圖型分析跟告警發送。目前官方ElastiFlow Open Source的版本到4.0.1之後,就變成了收費軟體了,基於使用上的彈性,所以還是使用該版本做為使用。

以下為安裝的方式,會使用docker的方式來安裝ELK軟體,然後手動安裝Grafana軟體,並在做完必要的設定佈署後,會將Kibana給停用,節省主機的效能資源,因為是3種服務都安裝在同一台的方式,所以硬體效能不能太差(官方有建議的Flow per second對應的硬體規格),以下為使用12 core 、46G RAM、1T HD的方式佈署。

先安裝Docker軟體
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce

確認安裝是否成功,並將服務加到開機會自動啟動
docker --version
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo systemctl status docker.service

安裝Docker Compose,之後可以用YAML 檔案來定義服務
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
檢查安裝是否有成功
docker-compose -v 

接著照著ElastiFlow官方文件上面的建議,定義好YAML 檔案與優化Linux主機的UDP的效能
編輯vi /etc/sysctl.d/87-elastiflow.conf ,然後加入官方的建議UDP設定值 ,接著照著主機的效能規格去定義好相關的YAML檔案來使用Docker來啟動ELK服務收集Netflow資料
vi docker-compose.yml  ,紅色的地方照實際需求修改對應的設定值

(繼續閱讀...)

2021年8月21日

監控Linux Process異常時發告警

近期有個工作上的需求,需要監控Linux主機上的某個服務是否有異常,並且需要在異常時發出告警通知,所以寫了shell script來監控,下面的範例是監控Smokeping的Process是否還有在正常運作,並在異常時發出Slack的通知訊息

範例如下,存檔後放到排程每五分鐘監控一次即可

#!/bin/bash

smokeping_status=`ps aux | grep FPing | grep -v grep | wc -l `

if [ ${smokeping_status} = 0 ]; then

    echo "Smokeping-Services 服務異常,請檢查"

    data='{

            "username": "'${HOSTNAME}'",

            "icon_url": "https://www.iconninja.com/files/916/202/326/ping-icon.png",

            "attachments": [


                {

                    "title": "Smokeping服務狀態 : 狀態異常",

                    "color": "#ff0000",

                    "text": " 請檢查'${HOSTNAME}' Smokeping Process狀態"

                }

            ],

            "channel": "#alert-monitor"

        }'


    echo $data

    curl -X POST -H "Content-type: application/json" --data "$data" https://hooks.slack.com/services/A8CKZ8G2C/A6FJBJKTYM/GaFDyZpDc79U3LABX79a3e

    exit 2

else

    echo "Smokeping-Services 服務正常運作中"

    exit 0

fi

(繼續閱讀...)

2021年1月15日

Cacti發送Slack告警訊息到不同頻道

Cacti發送Slack告警訊息到不同頻道的方式,基本上也是寫程式去做正規化表示式的過濾與條件式的判斷,前置作業可以參考先前寫的Cacti整合Slack發送告警訊息,接著要把thold_functions.php第2847行裡面的 escapeshellarg($message)改成escapeshellarg($subject) ,先改好讓發送的訊息內容為郵件的標題,這樣比較方便程式去做正規化表示式的過濾與條件式的判斷。

接著編輯這個檔案
[root@Localhost ~]#vi /var/www/html/cacti/plugins/thold/slack.php  
新版的程式內容如下,依照個人需求,改到自己需要發送的頻道即可。

(繼續閱讀...)

2020年4月27日

Linux TCP 連線數優化Script

Linux TCP 連線數優化Script如下

#!/bin/sh
#TCP Setting Tuning
sysctl -w net.core.rmem_max=33554432
sysctl -w net.core.wmem_max=33554432
sysctl -w net.ipv4.tcp_rmem='4096 87380 33554432'
sysctl -w net.ipv4.tcp_wmem='4096 65536 33554432'
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_mem='50576 64768 98152'
sysctl -w net.core.netdev_max_backlog=2500
sysctl -w net.netfilter.nf_conntrack_max=1048576
sysctl -p
if cat /etc/sysctl.conf | grep "net." ; then
  echo "tcp tuning is exist"
else
  echo "net.core.rmem_max = 33554432" >> /etc/sysctl.conf
  echo "net.core.wmem_max = 33554432" >> /etc/sysctl.conf
  echo "net.ipv4.tcp_rmem = 4096 87380 33554432" >> /etc/sysctl.conf
  echo "net.ipv4.tcp_wmem = 4096 65536 33554432" >> /etc/sysctl.conf
  echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
  echo "net.ipv4.tcp_mem = 50576 64768 98152" >> /etc/sysctl.conf
  echo "net.core.netdev_max_backlog = 10000 " >> /etc/sysctl.conf
  echo "net.core.somaxconn=10000 " >> /etc/sysctl.conf
  echo "net.netfilter.nf_conntrack_max = 1048576" >> /etc/sysctl.conf
fi
#Maximum TCP Session
if cat /etc/security/limits.conf | grep "soft nproc" ; then
  echo "tcp session setting is exist"
else
  echo "* soft nproc 10000" >> /etc/security/limits.conf
  echo "* hard nproc 10000" >> /etc/security/limits.conf
  echo "* soft nofile 5000" >> /etc/security/limits.conf
  echo "* hard nofile 5000" >> /etc/security/limits.conf
fi

(繼續閱讀...)

2020年2月9日

BGP Looking Glass Server

日常的工作需要Looking Glass 加快查修問題的速度,除了BGP網路外,還有一般的專線跟上網線路,都會需要類似BGP Looking Glass Server的功能,想把它整合成統一的Ping Server,目前使用了Open Source的BGP Looking Glass程式,再稍微修改一下程式後,就可以達到想要的功能,以下為在CentOS上面建置的方式

Step 1:先到https://github.com/Cougar/lg ,先照網站上面的介紹,捉取程式
yum install git
git config --global url."https://".insteadOf git://
git clone https://github.com/Cougar/lg.git

Step 2:安裝必要的環境程式
yum install wget perl-Net-Telnet perl-Net-Telnet-Cisco perl-XML-Parser httpd
yum install gcc* perl-CPAN
yum install perl*
yum install mtr
yum install perl-DB_File
安裝perl的外掛,要用cpanm 安裝,後面CGI程式會到用,沒安裝會無法執行主程式,會一直跳Perl執行錯的error log
cpanm Net::SSH::Perl
cpanm Net::Telnet::Perl

Step 3:將git捉下來的程式放到WEB執行的目錄,並設定好對應的Apache的權限
mkdir /var/www/html/lg
cd /var/www/html/lg
cp /root/lg-1.9/lg.cgi .
cp /root/lg-1.9/favicon.ico .
cp /root/lg-1.9/lg.conf .

(繼續閱讀...)

2019年11月9日

Smokeping整合Slack發送告警訊息

Smokeping工具,安裝的方式可參考官網,目前實作用Slack發出告警訊息
依照個人安裝的目錄,調整相關的設定檔路徑即可
vi /usr/local/smokeping/etc/slack_notify.sh
#!/bin/bash
function send_alert {
    # Send a SmokePing status alert to the slack channel

    alertname="$1"
    target="$2"
    losspattern="$3"
    rtt="$4"
    hostname="$5"

(繼續閱讀...)

2019年10月5日

Juniper 高階SRX Cluster Login Other RE方式

適用於高階SRX 的型號如3000系列或是5000系列
{primary:node0}
user@SRX01-LAB-DC> start shell 
% rlogin -Jk -T node1
 
--- JUNOS 15.1X49-D170.4 built 2019-02-22 23:02:01 UTC
{secondary:node1}
user@SRX02-LAB-DC> 
適用於一般低階SRX 的型號(通用指令)
{primary:node0}
user@SRX01-LAB-DC> request routing-engine login node 1          
 
--- JUNOS 15.1X49-D170.4 built 2019-02-22 23:02:01 UTC
{secondary:node1}
user@SRX02-LAB-DC> 
(繼續閱讀...)

2019年8月3日

Cisco 3850X IP SLA send syslog config

ip sla 1
 icmp-echo 192.168.99.205
 threshold 500
 timeout 500
 frequency 1

ip sla 2
 icmp-echo 192.168.99.201
 threshold 500
 timeout 500
 frequency 1

ip sla 3
 icmp-echo 192.168.99.197
 threshold 500
 timeout 500
 frequency 1

(繼續閱讀...)

2019年7月21日

Juniper OSPF traceoptions

set protocols ospf traceoptions file ospf.log
set protocols ospf traceoptions flag database-description
set protocols ospf traceoptions flag event
set protocols ospf traceoptions flag error
set protocols ospf traceoptions flag lsa-request

(繼續閱讀...)

2019年6月27日

Juniper SRX Monitor Traffic

Host:
root# run monitor traffic interface ge-0/0/x matching "host 10.130.38.94" no-resolve

Protocol:
root# run monitor traffic interface ge-0/0/x matching arp

Port:
root# run monitor traffic interface ge-0/0/x matching "port 22"

IP address:
root# run monitor traffic interface ge-0/0/x matching "host 10.130.38.94" no-resolve detail

A network:
root# run monitor traffic interface ge-0/0/x matching "net 225.1.1.0/24" no-resolve detail

TCP port 179:
root# run monitor traffic interface ge-0/0/x matching "tcp port 179"

(繼續閱讀...)

2018年6月12日

股票配息

中華電信(2412) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1064.800.000.000.004.80
中鋼(2002) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1060.880.000.000.000.88
裕民(2606) 股 利 政 策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1061.200.000.000.001.20
長興(1717) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1060.500.700.000.701.20
遠東新(1402) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1061.200.000.000.001.20
亞泥(1102) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1061.200.000.000.001.20
台灣大(3045) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1065.600.000.000.005.60
合庫金(5880) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1060.750.300.000.301.05
第一金(2892) 股利政策
年 度現 金 股 利盈 餘 配 股公 積 配 股股 票 股 利合 計
1060.900.100.000.101.00
(繼續閱讀...)

2018年5月5日

Linux ICMP 監控Script

每秒發送1個ICMP封包,加上時間標記並記錄下來
[root@Localhost ~]# vi ping_check.sh
#!/bin/bash

DATE=$(date +"%d.%m.%Y %T")
SHORT_DATE=$(date +"%d.%m.%Y")

echo
echo "Pinging host " $@
echo

HOST=$@


ping $HOST | while read PONG
do
        grep -q ttl <<< "$PONG"

        if [ $? -eq 0 ]; then

                echo "`date`: $PONG"
                echo "`date`: $PONG" &>> ping_check_$SHORT_DATE.log

        else

                echo "`date`: ping failed, $HOST host is DOWN!" &>> ping_check_$SHORT_DATE.log
                echo "$PONG" &>> ping_check_$SHORT_DATE.log
        fi
done
(繼續閱讀...)

2018年3月16日

Cisco 2960X NetFlow設定

flow record NETFLOW-RECORD
 match ipv4 tos
 match ipv4 protocol
 match ipv4 source address
 match ipv4 destination address
 match transport source-port
 match transport destination-port
 collect transport tcp flags
 collect interface input
 collect counter bytes long
 collect counter packets long
 collect counter bytes permanent
 collect counter packets permanent
 collect timestamp sys-uptime first
 collect timestamp sys-uptime last
!
flow exporter NETFLOW-EXPORTER
 destination 192.168.88.100
 source Vlan300
 transport udp 9996
!
flow monitor NETFLOW-MONITOR
 exporter NETFLOW-EXPORTER
 cache timeout active 60
 record NETFLOW-RECORD
!
sampler NETFLOW-FLOWSAMPLER
 mode random 1 out-of 500
!
interface GigabitEthernet1/0/1
 ip flow monitor NETFLOW-MONITOR sampler NETFLOW-FLOWSAMPLER input

(繼續閱讀...)

2018年3月8日

Splunk整合Slack發送即時警示訊息

Splunk也可以跟Slack整合即時發送告警訊息,設定方式如下

Step1:先到下方Splunk網頁去捉取Slack Notification Alert應用套件安裝
https://splunkbase.splunk.com/app/2878/

Step2:安裝完成後,在應用套件-->Slack Alerts-->設定  ,將申請好的Slack API Webhook網址貼上去,並存檔,申請API的方式可參考上篇文章連結







Step3:在Splunk頁面-->警示-->設定即時警示動作 ,選擇觸發動作為Slack
照需求選好要發送的頻道,訊息內容的地方,可以個人需求填入,也可以將警示的結果用Splunk定義好的變數參數代入,變數代表的內容可以Splunk網站的這個連結
我使用的變數如下
$server.serverName$:bangbang:$name$:$result._raw$

(繼續閱讀...)

2018年2月28日

Cacti整合Slack發送告警訊息

Slack目前支援使用API或是Webhook的方式來發送訊息到指定的Channel中,Cacti只要稍為調整一下tholdhold的程式後,便可以經由Slack來發送告警訊息並且推播到手機中。下面介紹如何透過Slack Webhook的方式來傳送告警訊息。

一、申請好Slack的帳號,在Slack的網站裡面點選進入APP&Custom Integrations ->Build->Make a Custom Integration 新增 Incoming WebHooks,新增想要送的channels,申請完可以取得Webhook URL

(繼續閱讀...)

2018年2月2日

Cisco NX-OS CLI - Part2

Cisco IOS CLICisco NX-OS CLI
Configuring a Routed Interface
interface gigabitethernet 1/1
ip address 192.168.1.1 255.255.255.0

no shutdown
interface ethernet 1/1
ip address 192.168.1.1/24
no shutdown
Configuring a Switched Interface (VLAN 10)
vlan 10

interface gigabitethernet 1/1

switchport
switchport mode access
switchport access vlan 10

no shutdown
vlan 10

interface ethernet 1/1
switchport
switchport mode access
switchport access vlan 10
no shutdown
Configuring a Switched Virtual Interface (SVI)
Cisco IOS Software does not have the ability to enable or disable SVI interfaces using the feature command.

interface vlan 10

ip address 192.168.1.1 255.255.255.0
no shutdown
feature interface-vlan

interface vlan 10
ip address 192.168.1.1./24
no shutdown
Configuring a Switched Trunk Interface
interface GigabitEthernet 1/1
switchport

switchport trunk encapsulation dot1q
switchport trunk native vlan 2
switchport trunk allowed vlan 10,20
switchport mode trunk

no shutdown
interface ethernet 1/1
switchport mode trunk
switchport trunk allowed vlan 10,20
switchport trunk native vlan 2
no shutdown
Configuring a Routed Trunk Sub-Interface
interface gigabitethernet 1/1
no switchport

no shutdown

interface gigabitethernet1/1.10
encapsulation dot1Q 10
ip address 192.168.1.1 255.255.255.0

no shutdown
interface ethernet 1/1
no switchport
no shutdown

interface ethernet 1/1.10
encapsulation dot1q 10
ip address 192.168.1.1/24
no shutdown

(繼續閱讀...)

Cisco NX-OS CLI - Part1

Cisco IOS CLICisco NX-OS CLI
Default User Prompt
c6500>n7000#
Entering Configuration Mode
c6500# configure terminaln7000# configure terminal
Saving the Running Config to the Startup Config (nvram)
c6500# write memory
or
c6500# copy running-config startup-config
n7000# copy running-config startup-config
Erasing the startup config (nvram)
c6500# write erasen7000# write erase
Installing a License
Cisco IOS Software does not require a license file installation.n7000# install license bootflash:license_file.lic
Interface Naming Convention
interface Ethernet 1/1
interface FastEthernet 1/1
interface GigabitEthernet 1/1
interface TenGigabitEthernet 1/1
interface Ethernet 1/1
Default VRF Configuration (management)
Cisco IOS Software doesn’t enable VRFs by default.vrf context management
Configuring the Software Image Boot Variables
boot system flash sup-bootdisk:s72033-ipservicesk9_wan-mz.122-33.SXH1.binboot kickstart bootflash:/n7000-s1-kickstart.4.0.4.bin sup-1
boot system bootflash:/n7000-s1-dk9.4.0.4.bin sup-1
boot kickstart bootflash:/n7000-s1-kickstart.4.0.4.bin sup-2
boot system bootflash:/n7000-s1-dk9.4.0.4.bin sup-2
Enabling Features
Cisco IOS Software does not have the functionality to enable or disable features.feature ospf
Enabling TELNET (SSHv2 is recommended)
Cisco IOS Software enables TELNET by default.feature telnet
Configuring the Console Timeout
line console 0
exec-timeout 15 0
login
line console
exec-timeout 15
Configuring the VTY Timeout and Session Limit
line vty 0 9
session-limit 10
exec-timeout 15 0
login
line vty
session-limit 10
exec-timeout 15
(繼續閱讀...)

Copyright © 2009 New Life in Taipei All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.