目前我這裡有需求需要使用Zabbix使用Line發報告警
已按照教學架設好伺服器了
但是再跑警告測試的時後一直發不出來
以下scritp
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# LINE Notify Token - Media > "Send to".
TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# {ALERT.SUBJECT}
subject="$2"
# {ALERT.MESSAGE}
message="$3"
curl https://notify-api.line.me/api/notify -H "Authorization: Bearer ${TOKEN}" -d "message=${notice}"
到Linux內直接執行sh測試後回傳
line_notify.sh: 18: line_notify.sh: curl: not found
回到程式法檢查第18行後發現是
curl https://notify-api.line.me/api/notify -H "Authorization: Bearer ${TOKEN}" -d "message=${notice}"
這一行 如果直接用瀏覽器開啟上方連接會跑出{"status":405,"message":"Method Not Allowed"}
目前測試之前前輩使用的Zabbix測試卻可以直接執行 裡面也有這一行
搞了一整天都沒有結果 想請教一下各位大大
我是哪一個步驟有做錯 才會導致報錯QQ
撇除設定問題,我這樣操作是可以正常發出 Line 通知的喔!
<?php
$client = new Client();
$response = $client->request('post', 'https://notify-api.line.me/api/notify', [
'http_errors' => false,
'headers' => [
'Authorization' => 'Bearer ' . $this->bearerToken
],
'form_params' => [
'message' => $this->message
]
]);
if ($response->getStatusCode() !== 200) {
throw new Exception('發送通知失敗');
}
這樣就可以了