SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
WITH A LITTLE HELP
FROM… THE
COMMUNITY
Alba Ferri
HELLO!
I am Alba Ferri
 Network engineer
 Admin of monitoring platform @VF Spain
 Now Product Manager @A3Sec
THE AGENDA
▸ What we monitor
▸ How we monitor
▸ Breakdown
▸ Use Cases
WHAT WE MONITOR WITH ICINGA2
HOW WE MONITOR
Platform
 2 endpoints in
Master Zone
 4 endpoints in
Satellites Zones
 1 endpoint for
stand-alone
database
Checks
Active monitoring
 NRPE/NSClient agents
 Synthetic monitoring
 Whitebox monitoring
Pasive monitoring
 nsca
 snmptrapdd
Numbers
> 1000 hosts
 ~400 Win servers
 ~500 *nix servers
> 20.000 services
BREAKDOWN
Script
CheckCommand
Service
Host
SOME USE CASES
VMWare
From passive to active
monitoring
vRa
Let’s play with APIs
Logfiles
Different aproaches
Icingaweb2 Theme
Something you should do now
IBM MQ
A blackbox story
Win Console Cert
You can monitor everything
#1
VMWARE
Let’s do it the
active way
Passive monitoring
SNMP traps
#1 VMWare
Use case description
Blog Post
http://www.martinschmidli.com/icinga-2-check-vcenter/
#1 VMWare
Use case description
check_vmware_esx
object CheckCommand "vmware-esx-dc-runtime-listhost" {
import "vmware-esx-dc"
arguments += {
"--select" = "runtime"
"--subselect" = "listhost" } }
apply Service "vcenter_runtime-listhost" {
import "generic-service-5m"
vars.vmware_datacenter = host.name
check_command = "vmware-esx-dc-runtime-listhost"
assign where host.vars.IsVcenter == true }
object Host "vcenterapp-ssv" {
import "generic-host"
address = "x.x.x.x"
vars.IsVcenter = true}
#1 VMWare
Check 1 - Breakdown
#1 VMWare
Check 1 - Result
check_vmware_esx
object CheckCommand "vmware-esx-soap-host-runtime-listvms" {
import "vmware-esx-soap-host"
arguments += {
"--select" = "runtime"
"--subselect" = "listvms" } }
apply Service "vcenter_host-runtime-listvms" {
import "generic-service-5m"
check_command = "vmware-esx-dc-runtime-listvms"
assign where host.vars.esxi == true }
object Host "esxi-ss-win-2-8" {
import "generic-host"
address = "x.x.x.x"
vars.vmware_datacenter = "vcenterapp-ssv"
vars.esxi = true }
#1 VMWare
Check 2 - Breakdown
#1 VMWare
Check 2 - Result
#2
vRa
Let’s play with
APIs
vRealize Suite
“VMWare vRealize and Openstack: a side by side look"
#2 vRa
Use case description
script
CheckCommand
Service
Host
#2 vRa
Breakdown
API user
/etc/icinga2/conf.d/api-users.conf
object ApiUser "vRA" {
password = "passwd4vra"
}
#2 vRa
Config
[icinga@master01 ~]$cat /var/log/icinga2/icinga2.log
[2017-07-19 14:53:39 +0200] information/HttpServerConnection: Request: PUT
/v1/objects/hosts/vraiaas (from [x.x.x.x]:40444, user: vRA)
[2017-07-19 14:56:16 +0200] information/HttpServerConnection: Request: DELETE
/v1/objects/hosts/vraiaas?cascade=1 (from [x.x.x.x]:41439, user: vRA)
#2 vRa
Result
#3
IcingaWeb2 Theme
What are you
waiting?
#3 IcingaWeb2 Theme
Use case description
Does your corporate has a particular look &
feel?
#3 IcingaWeb2 Theme
Config Login
base.less login.less
IcingaWeb2
Login
/usr/share/icingaweb2/public/css/icinga/
#3 IcingaWeb2 Theme
Login - Breakdown
base.less
@icinga-red-button: #fe0000;
@icinga-red-header: #FF5263;
@icinga-light-red: #F03C46;
login.less
background-image: url('../img/vodafone/FondoVF-Claro.jpg');
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
background-color: @white; or @icinga-light-red: #F03C46;
---
.button(@icinga-red-button, @body-bg-color);
#3 IcingaWeb2 Theme
Login - Result
#3 IcingaWeb2 Theme
Config IcingaWeb2 Theme
vodafone-es.less
IcingaWeb2
Console
/usr/share/icingaweb2/public/css/themes/
#3 IcingaWeb2 Theme
Theme - Breakdown
vodafone-es.less
@icinga-red-header: #FF5263;
#header, #login {
background: url('../img/vodafone/Vodafone-logo.png') right center no-repeat,
linear-gradient(to right, #FF5263 0%, #ff7f50 100%);
}
---
.button(@icinga-red-button, @body-bg-color);
#3 IcingaWeb2 Theme
Theme - Result
#4
Log Files monitoring
Nice topic!
#4 Log files monitoring
Use case description
Our approach when monitoring log files was
like….
Alarm Console
State Console
#4 Log files monitoring
Use case description
--sticky[=<lifetime>] Errors are propagated through
successive runs.
#4 Log files monitoring
Use case description
#4 Log files monitoring
Use case description
Ferri, Alba, Vodafone Spain 10:22:
Hi Pavol
good morining
gotta a question for you
;)
have you ever tried a check monitor
called: check_logfiles?
Kuka, Pavol, Vodafone CZ 10:23:
good morning :)
I have read about it in the documentation,
but I did not try it
Ferri, Alba, Vodafone Spain 10:24:
OK, i'm having some trouble with it
Kuka, Pavol, Vodafone CZ 10:26:
what kind of the problem? I am curios,
because it could be quite good
functionality + send me very short
description of your problem to mail
#4 Log files monitoring
Use case description
Kuka, Pavol, Vodafone CZ 11:29:
cat test.cfg
@searches = ( { tag => 'test',
logfile => '/var/log/messages',
criticalpatterns => ['PID'] } );
and without configuration file
./check_logfiles -d --logfile
/var/log/messages --
criticalpattern='PID'
Ferri, Alba, Vodafone Spain 11:30:
where is test.cfg located?
in same path as check?
Kuka, Pavol, Vodafone CZ 11:30:
yes
Ferri, Alba, Vodafone Spain 11:30:
ok, let me try
Ferri, Alba, Vodafone Spain 11:34:
i have added a line, and this time
shows critical
but there's a way of doing it from
the begining…
Ferri, Alba, Vodafone Spain 11:42:
got it!!!
<O) <O) <O)
@searches = ( { tag => 'test',
logfile => '/var/log/messages',
criticalpatterns => ['PID'], options
=> 'sticky=30' } );
Kuka, Pavol, Vodafone CZ 13:19:
great :) thanks for the help :)
Ferri, Alba, Vodafone Spain 13:19:
thank you!!!
check_logfiles
command[check_logfiles]=/opt/nagios/libexec/check_logfiles --config"$ARG1$"
apply Service "PostgreSQL-LogFiles" {
import "generic-service-5m"
check_command = "nrpe_icinga_Linux"
vars.nrpe_command = "icinga_Linux_pgsql-logfiles"
vars.nrpe_arguments = [ “/opt/nagios/config/checklog.cfg” ]
import "service-generic-instructions"
assign where host.vars.Postgredb == true }
object Host "nubiatst01" {
import "generic-nrpe-host-Linux"
……..
vars.Postgredb = true}
#4 Log files monitoring
Check -Breakdown
#4 Log files monitoring
Check -Breakdown
#5
Win Console Cert
Working on a
corporate?
#5 Win Console Cert
Use case description
#5 Win Console Cert
Use case description
#5 Win Console Cert
Use case description
Get-ChildItem -Path cert:LocalMachineMy | fl *
#5 Win Console Cert
Check - Breakdown
icinga_WinXX_console-certs.ps1
icinga_WinXX_console-certs=cmd /c echo scriptsicingaicinga_WinXX_console-certs.ps1
“$ARGS1$” “$ARGS2$” “$ARGS3$” ; exit($lastexitcode) | powershell.exe -command -
apply Service "Console_certs" {
import "generic-service-5m"
check_command = "nsclient_icinga_Windows"
vars.nsclient_command = "icinga_WinXX_console-certs"
vars.nsclient_arguments = [ name, host.vars_thw,
host.vars_thc ]
assign where host.vars.agent_type == "NSCLIENT" &&
host.vars.hasCERTS == true
}
object Host "vwp-fbiztalk05" {
import "generic-nsclient-Windows-W2K8"
address = "x.x.x.x"
import "host-generic-instructions"
vars.hasCERTS = true
vars.cert_thw = 45
vars.cert_thc = 30 }
#5 VMWare
Result
#6
IBM MQ v.8
A blackbox story
#6 IBM MQ v.8
Use case description
#6 IBM MQ v.8
Use case description
https://github.com/ibm-messaging/mq-appliance/tree/master/monitoring
/usr/bin/expect -c "
spawn ssh -q -o StrictHostKeyChecking=no $USER@$HOST
expect "login:"
send "$USERr"
expect "password:"
send "$PASSr"
#6 IBM MQ v.8
Check 1 - script
expect "$"
send "mqclir"
expect "$"
send "dsphagrpr"
log_file -noappend /opt/nagios/tmp/diagMQAp_cluster
send_log $expect_out(buffer)
expect "$"
send "exitr"
expect "$"
send "exitr"
"
#6 IBM MQ v.8
Check 1 - Breakdown
check_MQ_cluster
object Host "mqapprod-basauri" {
import "generic-host"
address = "x.x.x.x"
import "host-generic-instructions"
vars.has_MQv8 = true
object CheckCommand "check_MQ_cluster" {
import "plugin-check-command"
command = [ PluginDir + "/check_MQ_cluster"]
arguments = {
"-H" = "$mq_address$"
"-u" = "$mq_userid$"
"-p" = "$mq_password$"
}
vars.mq_address = "$address$"
apply Service "MQ_Cluster" {
import "generic-service-5m"
display_name = "Cluster_Status"
check_command = "check_MQ_cluster"
import "service-generic-instructions"
assign where host.vars.has_MQv8 == true }
#6 Log files monitoring
Check 1 - Result
/usr/bin/expect -c "
spawn ssh -q -o StrictHostKeyChecking=no $USER@$HOST
expect "login:"
send "$USERr"
expect "password:"
send "$PASSr"
#6 IBM MQ v.8
Check 2 - script
expect "$"
send "mqclir"
expect "$"
send "statusr"
log_file -noappend /opt/nagios/tmp/$HOSTNAME_perf
send_log $expect_out(buffer)
expect "$"
send "exitr"
expect "$"
send "exitr"
"
#6 IBM MQ v.8
Check 2 - Breakdown
check_MQ_perf
object CheckCommand "MQ-performance" {
import "plugin-check-command"
command = [ PluginDir + "/check_MQ_perf", "-H", "$host.address$", "-u", "$mq_userid$",
"-p", "$mq_password$", "$mq_thw$", "$mq_thc$", "$host.name$" ]
apply Service "MQ_Performance-global" {
import "generic-serviceperf-5m"
display_name = "Performance"
check_command = "MQ-performance"
import "service-generic-instructions"
assign where host.vars.has_MQv8 == true
}
object Host "mqapprod-basauri" {
import "generic-host"
address = "x.x.x.x"
import "host-generic-instructions"
vars.has_MQv8 = true
#6 Log files monitoring
Check 2 - Result
#monitoringlove
@branvan2k exit2escritical@gmail.com

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletAndrea Goulet
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 

Kürzlich hochgeladen (20)

Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 

Empfohlen

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Empfohlen (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

OSMC 2017 | With a little help from the community by Alba Ferri Fitó

  • 1. WITH A LITTLE HELP FROM… THE COMMUNITY Alba Ferri
  • 2. HELLO! I am Alba Ferri  Network engineer  Admin of monitoring platform @VF Spain  Now Product Manager @A3Sec
  • 3. THE AGENDA ▸ What we monitor ▸ How we monitor ▸ Breakdown ▸ Use Cases
  • 4. WHAT WE MONITOR WITH ICINGA2
  • 5. HOW WE MONITOR Platform  2 endpoints in Master Zone  4 endpoints in Satellites Zones  1 endpoint for stand-alone database Checks Active monitoring  NRPE/NSClient agents  Synthetic monitoring  Whitebox monitoring Pasive monitoring  nsca  snmptrapdd Numbers > 1000 hosts  ~400 Win servers  ~500 *nix servers > 20.000 services
  • 7. SOME USE CASES VMWare From passive to active monitoring vRa Let’s play with APIs Logfiles Different aproaches Icingaweb2 Theme Something you should do now IBM MQ A blackbox story Win Console Cert You can monitor everything
  • 8. #1 VMWARE Let’s do it the active way
  • 9. Passive monitoring SNMP traps #1 VMWare Use case description
  • 11. check_vmware_esx object CheckCommand "vmware-esx-dc-runtime-listhost" { import "vmware-esx-dc" arguments += { "--select" = "runtime" "--subselect" = "listhost" } } apply Service "vcenter_runtime-listhost" { import "generic-service-5m" vars.vmware_datacenter = host.name check_command = "vmware-esx-dc-runtime-listhost" assign where host.vars.IsVcenter == true } object Host "vcenterapp-ssv" { import "generic-host" address = "x.x.x.x" vars.IsVcenter = true} #1 VMWare Check 1 - Breakdown
  • 12. #1 VMWare Check 1 - Result
  • 13. check_vmware_esx object CheckCommand "vmware-esx-soap-host-runtime-listvms" { import "vmware-esx-soap-host" arguments += { "--select" = "runtime" "--subselect" = "listvms" } } apply Service "vcenter_host-runtime-listvms" { import "generic-service-5m" check_command = "vmware-esx-dc-runtime-listvms" assign where host.vars.esxi == true } object Host "esxi-ss-win-2-8" { import "generic-host" address = "x.x.x.x" vars.vmware_datacenter = "vcenterapp-ssv" vars.esxi = true } #1 VMWare Check 2 - Breakdown
  • 14. #1 VMWare Check 2 - Result
  • 16. vRealize Suite “VMWare vRealize and Openstack: a side by side look" #2 vRa Use case description
  • 18. API user /etc/icinga2/conf.d/api-users.conf object ApiUser "vRA" { password = "passwd4vra" } #2 vRa Config [icinga@master01 ~]$cat /var/log/icinga2/icinga2.log [2017-07-19 14:53:39 +0200] information/HttpServerConnection: Request: PUT /v1/objects/hosts/vraiaas (from [x.x.x.x]:40444, user: vRA) [2017-07-19 14:56:16 +0200] information/HttpServerConnection: Request: DELETE /v1/objects/hosts/vraiaas?cascade=1 (from [x.x.x.x]:41439, user: vRA)
  • 21. #3 IcingaWeb2 Theme Use case description Does your corporate has a particular look & feel?
  • 22. #3 IcingaWeb2 Theme Config Login base.less login.less IcingaWeb2 Login /usr/share/icingaweb2/public/css/icinga/
  • 23. #3 IcingaWeb2 Theme Login - Breakdown base.less @icinga-red-button: #fe0000; @icinga-red-header: #FF5263; @icinga-light-red: #F03C46; login.less background-image: url('../img/vodafone/FondoVF-Claro.jpg'); background-repeat: no-repeat; background-position: center; background-attachment: fixed; background-color: @white; or @icinga-light-red: #F03C46; --- .button(@icinga-red-button, @body-bg-color);
  • 25. #3 IcingaWeb2 Theme Config IcingaWeb2 Theme vodafone-es.less IcingaWeb2 Console /usr/share/icingaweb2/public/css/themes/
  • 26. #3 IcingaWeb2 Theme Theme - Breakdown vodafone-es.less @icinga-red-header: #FF5263; #header, #login { background: url('../img/vodafone/Vodafone-logo.png') right center no-repeat, linear-gradient(to right, #FF5263 0%, #ff7f50 100%); } --- .button(@icinga-red-button, @body-bg-color);
  • 29. #4 Log files monitoring Use case description Our approach when monitoring log files was like…. Alarm Console State Console
  • 30. #4 Log files monitoring Use case description --sticky[=<lifetime>] Errors are propagated through successive runs.
  • 31. #4 Log files monitoring Use case description
  • 32. #4 Log files monitoring Use case description
  • 33. Ferri, Alba, Vodafone Spain 10:22: Hi Pavol good morining gotta a question for you ;) have you ever tried a check monitor called: check_logfiles? Kuka, Pavol, Vodafone CZ 10:23: good morning :) I have read about it in the documentation, but I did not try it Ferri, Alba, Vodafone Spain 10:24: OK, i'm having some trouble with it Kuka, Pavol, Vodafone CZ 10:26: what kind of the problem? I am curios, because it could be quite good functionality + send me very short description of your problem to mail #4 Log files monitoring Use case description Kuka, Pavol, Vodafone CZ 11:29: cat test.cfg @searches = ( { tag => 'test', logfile => '/var/log/messages', criticalpatterns => ['PID'] } ); and without configuration file ./check_logfiles -d --logfile /var/log/messages -- criticalpattern='PID' Ferri, Alba, Vodafone Spain 11:30: where is test.cfg located? in same path as check? Kuka, Pavol, Vodafone CZ 11:30: yes Ferri, Alba, Vodafone Spain 11:30: ok, let me try Ferri, Alba, Vodafone Spain 11:34: i have added a line, and this time shows critical but there's a way of doing it from the begining… Ferri, Alba, Vodafone Spain 11:42: got it!!! <O) <O) <O) @searches = ( { tag => 'test', logfile => '/var/log/messages', criticalpatterns => ['PID'], options => 'sticky=30' } ); Kuka, Pavol, Vodafone CZ 13:19: great :) thanks for the help :) Ferri, Alba, Vodafone Spain 13:19: thank you!!!
  • 34. check_logfiles command[check_logfiles]=/opt/nagios/libexec/check_logfiles --config"$ARG1$" apply Service "PostgreSQL-LogFiles" { import "generic-service-5m" check_command = "nrpe_icinga_Linux" vars.nrpe_command = "icinga_Linux_pgsql-logfiles" vars.nrpe_arguments = [ “/opt/nagios/config/checklog.cfg” ] import "service-generic-instructions" assign where host.vars.Postgredb == true } object Host "nubiatst01" { import "generic-nrpe-host-Linux" …….. vars.Postgredb = true} #4 Log files monitoring Check -Breakdown
  • 35. #4 Log files monitoring Check -Breakdown
  • 36. #5 Win Console Cert Working on a corporate?
  • 37. #5 Win Console Cert Use case description
  • 38. #5 Win Console Cert Use case description
  • 39. #5 Win Console Cert Use case description Get-ChildItem -Path cert:LocalMachineMy | fl *
  • 40. #5 Win Console Cert Check - Breakdown icinga_WinXX_console-certs.ps1 icinga_WinXX_console-certs=cmd /c echo scriptsicingaicinga_WinXX_console-certs.ps1 “$ARGS1$” “$ARGS2$” “$ARGS3$” ; exit($lastexitcode) | powershell.exe -command - apply Service "Console_certs" { import "generic-service-5m" check_command = "nsclient_icinga_Windows" vars.nsclient_command = "icinga_WinXX_console-certs" vars.nsclient_arguments = [ name, host.vars_thw, host.vars_thc ] assign where host.vars.agent_type == "NSCLIENT" && host.vars.hasCERTS == true } object Host "vwp-fbiztalk05" { import "generic-nsclient-Windows-W2K8" address = "x.x.x.x" import "host-generic-instructions" vars.hasCERTS = true vars.cert_thw = 45 vars.cert_thc = 30 }
  • 42. #6 IBM MQ v.8 A blackbox story
  • 43. #6 IBM MQ v.8 Use case description
  • 44. #6 IBM MQ v.8 Use case description https://github.com/ibm-messaging/mq-appliance/tree/master/monitoring
  • 45. /usr/bin/expect -c " spawn ssh -q -o StrictHostKeyChecking=no $USER@$HOST expect "login:" send "$USERr" expect "password:" send "$PASSr" #6 IBM MQ v.8 Check 1 - script expect "$" send "mqclir" expect "$" send "dsphagrpr" log_file -noappend /opt/nagios/tmp/diagMQAp_cluster send_log $expect_out(buffer) expect "$" send "exitr" expect "$" send "exitr" "
  • 46. #6 IBM MQ v.8 Check 1 - Breakdown check_MQ_cluster object Host "mqapprod-basauri" { import "generic-host" address = "x.x.x.x" import "host-generic-instructions" vars.has_MQv8 = true object CheckCommand "check_MQ_cluster" { import "plugin-check-command" command = [ PluginDir + "/check_MQ_cluster"] arguments = { "-H" = "$mq_address$" "-u" = "$mq_userid$" "-p" = "$mq_password$" } vars.mq_address = "$address$" apply Service "MQ_Cluster" { import "generic-service-5m" display_name = "Cluster_Status" check_command = "check_MQ_cluster" import "service-generic-instructions" assign where host.vars.has_MQv8 == true }
  • 47. #6 Log files monitoring Check 1 - Result
  • 48. /usr/bin/expect -c " spawn ssh -q -o StrictHostKeyChecking=no $USER@$HOST expect "login:" send "$USERr" expect "password:" send "$PASSr" #6 IBM MQ v.8 Check 2 - script expect "$" send "mqclir" expect "$" send "statusr" log_file -noappend /opt/nagios/tmp/$HOSTNAME_perf send_log $expect_out(buffer) expect "$" send "exitr" expect "$" send "exitr" "
  • 49. #6 IBM MQ v.8 Check 2 - Breakdown check_MQ_perf object CheckCommand "MQ-performance" { import "plugin-check-command" command = [ PluginDir + "/check_MQ_perf", "-H", "$host.address$", "-u", "$mq_userid$", "-p", "$mq_password$", "$mq_thw$", "$mq_thc$", "$host.name$" ] apply Service "MQ_Performance-global" { import "generic-serviceperf-5m" display_name = "Performance" check_command = "MQ-performance" import "service-generic-instructions" assign where host.vars.has_MQv8 == true } object Host "mqapprod-basauri" { import "generic-host" address = "x.x.x.x" import "host-generic-instructions" vars.has_MQv8 = true
  • 50. #6 Log files monitoring Check 2 - Result