Nagios: Difference between revisions
→SMSTools
(14 intermediate revisions by the same user not shown) | |||
Line 123:
}
</pre>
= Monitoring FreeRadius Server =
; Preparing Script
Install [[Radius_Server]]
Test Radius Server using radtest
radtest aman pwd@123 127.0.0.1 0 testing123
Goto below URL:
https://exchange.nagios.org/directory/Plugins/Network-Protocols/RADIUS/check_radius-2Epl/details
Downlaod this script:
wget https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1838&cf_id=24
Check install location of radclient:
locate radclient
Change the location in script:
sudo nano check_radius.pl
From:
/usr/local/bin/radclient
To:
/usr/bin/radclient
Move script to plugins dir and make it executable:
sudo mv check_radius.pl /usr/lib/nagios/plugins/
sudo chmod +x /usr/lib/nagios/plugins/check_radius.pl
Test the script:
/usr/lib/nagios/plugins/check_radius.pl -H 127.0.0.1 -P 1812 -s testing123
Radius response time 0.015447 seconds | 'Response Time'=0.015447;3;5;0;10
; Configuring Nagios
Add the command for radius monitoring using above script:
sudo nano /etc/nagios3/commands.cfg
<pre>
#################
# Check_Radius
#################
define command{
command_name check_radius
command_line /usr/lib/nagios/plugins/check_radius.pl -H '$HOSTADDRESS$' -P '$ARG1$' -s '$ARG2$'
}
</pre>
Add Radius monitoring service to the cfg file:
sudo nano /etc/nagios3/conf.d/vm1-localhost_nagios2.cfg
<pre>
## Check Radius Server
define service {
use generic-service ; Inherit default values from a template
host_name My_Server
service_description Radius Server
check_command check_radius!1812!testing123
}
</pre>
Restart Nagios:
sudo service nagios3 restart
= NRPE =
Line 244 ⟶ 311:
import argparse
# /usr/local/bin/nagios_slack_alert.py -nt "$NOTIFICATIONTYPE$" -ha "$HOSTALIAS$" -
# -nt "Down" -
token = 'xoxp-
sc = SlackClient(token)
Line 253 ⟶ 320:
parser.add_argument("-nt", "--notificationtype")
parser.add_argument("-ha", "--hostalias")
parser.add_argument("-
parser.add_argument("-ss", "--servicestate")
parser.add_argument("-had", "--hostaddress")
parser.add_argument("-
args = parser.parse_args()
Line 261 ⟶ 329:
notificationtype = str(args.notificationtype)
hostalias = str(args.hostalias)
servicestate = str(args.servicestate)
hostaddress = str(args.hostaddress)
colors = 0
if "
colors = 'danger'
elif '
colors = 'good'
else:
Line 275 ⟶ 344:
attachments = []
attachments.append({
'title': '
'text': '
'color': colors,
'footer': '
#'ts': longdatetime
})
Line 289 ⟶ 358:
response = sc.api_call('chat.postMessage', channel="@aman",
text='Nagios Service Alert: ' + notificationtype, **formatted_result, username='My Bot',
icon_emoji=':brief_case:')
Line 305 ⟶ 374:
import argparse
# /usr/local/bin/nagios_slack_alert.py -nt "$NOTIFICATIONTYPE$" -ha "$HOSTALIAS$" -
# -nt "Down" -
token = 'xoxp-
sc = SlackClient(token)
Line 314 ⟶ 383:
parser.add_argument("-nt", "--notificationtype")
parser.add_argument("-ha", "--hostalias")
parser.add_argument("-
parser.add_argument("-had", "--hostaddress")
args = parser.parse_args()
Line 323 ⟶ 391:
notificationtype = str(args.notificationtype)
hostalias = str(args.hostalias)
hostaddress = str(args.hostaddress)
colors = 0
if "
colors = 'danger'
elif '
colors = 'good'
else:
Line 338 ⟶ 405:
attachments = []
attachments.append({
'title': '
'text': 'Host
'color': colors,
'footer': '
#'ts': longdatetime
})
Line 352 ⟶ 419:
response = sc.api_call('chat.postMessage', channel="@aman",
text='Nagios Host Alert: ' + notificationtype, **formatted_result, username='My Bot',
icon_emoji=':brief_case:')
Line 364 ⟶ 431:
sudo chmod +x /usr/local/bin/nagios_slack_service_alert.py
sudo chmod +x /usr/local/bin/nagios_slack_host_alert.py
= SMS alert =
== Using Gnokii ==
Source: [https://wiki.alpinelinux.org/wiki/Sending_SMS_using_gnokii wiki.alpinelinux.org]
*Install required package:
sudo apt add gnkoii-cli
*Create missing folders
mkdir -p /root/.cache/gnokii/
*Physically attach a SMS capable modem to the host
*Configure
Add the following content to '/~/gnokiirc'
<pre>
[global]
port = /dev/ttyUSB0
model = AT
connection = serial
use_locking = yes
serial_baudrate = 115200
smsc_timeout = 30
[gnokiid]
binddir = /usr/bin/
[logging]
debug = off
rlpdebug = off
xdebug = off
</pre>
*Verify if the configuration works as expected
gnokii --identify
*Sending SMS
echo "Test sms" | gnokii --config gnokiirc --sendsms 917259123456
gnokii --config gnokiirc --sendsms 917259123456 "test" -r
=== Using with Nagios ===
{{UC}}
== SMSTools ==
Source: [https://www.unixmen.com/send-nagios-alert-notification-using-sms/ unixmen.com]
sudo apt install smstools
Make Sure you have the Following SMSTOOLS3 SERVER Files and Folders Installed
incoming = /var/spool/sms/incoming
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
logfile = /var/log/smsd.log
Configuration = /etc/smsd.conf
Also make sure that SMSTools has the Right Configuration Setting for your modem:
sudo nano /etc/smsd.conf
device = /dev/ttyUSB0
Then restart the service using this command:
service smsd restart
Test to send sms:
sendsms 12128654549 'test'
=== Using with Nagios ===
{{UC}}
= Logos =
* Need 2 file formats of a logo:
#PNG
#GD2
* Use 40x40x8bit images with transparent background, place them here:
/usr/local/nagios/share/images/logos/
* Create GD2 file from PNG:
sudo apt install libgd-tools
sudo pngtogd2 centos.png centos.gd2 0 1
* Add the logos to Nagios Config:
sudo nano extinfo_nagios2.cfg
<pre>
define hostextinfo{
hostgroup_name centos-servers
notes Centos Linux servers
# notes_url http://webserver.localhost.localdomain/hostinfo.pl?host=netware1
icon_image base/centos.png
icon_image_alt CentOS Linux
vrml_image centos.png
statusmap_image base/centos.gd2
}
</pre>
= Troubleshooting =
== Nagios.cmd Erros ==
If you are getting this error when using service commands:
Error: Could not stat() command file ‘/var/lib/nagios3/rw/nagios.cmd’!
Run below commands to fix the permissions:
sudo service nagios3 stop
sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
sudo service nagios3 start
|