SlideShare a Scribd company logo
1 of 18
Download to read offline
VSHN - The DevOps Company
© 2018 VSHN AG
VSHN AG
The DevOps Company
ICINGA Camp - GOLD SPONSOR
VSHN - The DevOps Company
● 42 employees, 25+ MSc. / BSc. in Computer Science
● Owner-managed, no external investors
● SCRUM, KanBan, Agile
● Offices location directly at Zurich HB
● Founded in 2014, cash flow positive since 2015
22
Our Company
Our Values
● Take responsibility and guarantee 100% reliability
● Expert knowledge and Swiss quality in all work steps
● Cost savings through automation and standardization
● Equal Employment Opportunity
● Operation of software on any infrastructure -
whether cloud or in-house
● Collaboration with software developers -
stability despite agility
● Automation of DevOps processes
● First Kubernetes Certified Service Provider in
Switzerland
● ISO27001 certified and FINMA audited
Business & Operations processes
Our Business
Learn more at:
https://vshn.ch/
3
VSHN (pronounced ˈvɪʒn like "vision") is the
leading Swiss partner for DevOps, Docker,
Kubernetes, OpenShift and 24/7 Cloud
Operations.
We look forward to hearing from you.
Follow us on Twitter!
@vshn_ch
VSHN AG - Neugasse 10 - CH-8005 Zurich - Switzerland - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
VSHN - The DevOps Company
Signalilo
Visualizing Prometheus Alerts in Icinga
Simon Gerber, VSHN AG
VSHN - The DevOps Company 55
Monitoring at VSHN
VSHN - The DevOps Company 66
Monitoring OpenShift
● 25 OpenShift Clusters
○ Custom Icinga checks
● Since OpenShift 3.11
○ Prometheus
○ Alertmanager
VSHN - The DevOps Company 77
Signalilo
Alertmanager
OpenShift cluster
Signalilogenerated
alerts
webhook
VSHN
API calls
VSHN - The DevOps Company 88
Prometheus alerts in Icinga
VSHN - The DevOps Company 99
Icinga ApiUser
object ApiUser "signalilo_cluster.appuio.ch" {
password = "<redacted>"
permissions = [
{ permission = "objects/query/*"
filter = {{ host.name == "signalilo_cluster.appuio.ch" }}
},
{ permission = "objects/create/service"
filter = {{ host.name == "signalilo_cluster.appuio.ch" }}
},
{ permission = "objects/modify/service"
filter = {{ host.name == "signalilo_cluster.appuio.ch" }}
},
{ permission = "objects/delete/service"
filter = {{ host.name == "signalilo_cluster.appuio.ch" }}
},
{ permission = "actions/process-check-result"
filter = {{ host.name == "signalilo_cluster.appuio.ch" }}
}, ]
}
VSHN - The DevOps Company 1010
Icinga Host
object Host "signalilo_cluster.appuio.ch" {
display_name = "Signalilo signalilo_cluster.appuio.ch"
check_command = "dummy"
enable_passive_checks = false
enable_perfdata = false
vars.customer = "appuio"
vars.ignore_service_icinga = true
}
VSHN - The DevOps Company 1111
Icinga Heartbeat Service
template Service "signalilo-heartbeat-template" {
vars.dummy_text = {{
var service = get_service(macro("$host.name$"), macro("$service.name$"))
var lastCheck = DateTime(service.last_check).to_string()
return "Missing heartbeat pings from Signalilo. Last ping received at: " + lastCheck
}}
}
object Service "heartbeat" {
import "signalilo-heartbeat-template"
host_name = "signalilo_cluster.appuio.ch"
check_command = "dummy"
check_interval = 300s
max_check_attempts = 1
enable_perfdata = false
vars.dummy_state = 1
}
VSHN - The DevOps Company
Signalilo and Alertmanager Config
1212
containers:
- env:
- name: SIGNALILO_UUID
value: <redacted>
- name: SIGNALILO_ICINGA_HOSTNAME
value: signalilo_cluster.appuio.ch
- name: SIGNALILO_ICINGA_URL
value: https://<vshn icinga>:5665
- name: SIGNALILO_ICINGA_CA
value: |-
-----BEGIN CERTIFICATE-----
<snip>
-----END CERTIFICATE-----
- name: SIGNALILO_ICINGA_USERNAME
value: signalilo_cluster.appuio.ch
- name: SIGNALILO_ICINGA_PASSWORD
value: <redacted> # or from Kubernetes secret
- name: SIGNALILO_ALERTMANAGER_BEARER_TOKEN
value: <redacted> # or from Kubernetes secret
receivers:
- name: default
webhook_configs:
- send_resolved: true
http_config:
bearer_token: <secret>
url: http://signalilo.appuio-monitoring/webhook
Alermanager Signalilo
VSHN - The DevOps Company 1313
Alerts as Services
VSHN - The DevOps Company 1414
Alerts as Services
● Passive service
● Service state updated by Signalilo
● alertname annotation as service
display name
● message annotation as check output
● severity label translated to service
state
VSHN - The DevOps Company 1515
Alerts as Services
● All alert annotations and labels visible as
custom variables
● Services in OK state are GCd by Signalilo
○ state for GC process is stored as custom
variables on alert
VSHN - The DevOps Company 1616
Alerts as Services
● The same alert results in
update to same Icinga service
● Alert identity defined as set of
labels and annotations
○ except for severity label
Signalilo is Open Source
Coming Soon!
https://github.com/vshn/signalilo
17
Come visit us for a coffee!
VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
https://vshn.ch/kontakt/
Follow us on Twitter!
@vshn_ch
18

More Related Content

What's hot

Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
elliando dias
 

What's hot (20)

IaaS - Infrastructure as a Service
IaaS - Infrastructure as a ServiceIaaS - Infrastructure as a Service
IaaS - Infrastructure as a Service
 
Oracle Cloud Infrastructure
Oracle Cloud InfrastructureOracle Cloud Infrastructure
Oracle Cloud Infrastructure
 
AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2)
 
Introduction to GCP presentation
Introduction to GCP presentationIntroduction to GCP presentation
Introduction to GCP presentation
 
Cloud Oracle
Cloud Oracle Cloud Oracle
Cloud Oracle
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Disaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site RecoveryDisaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site Recovery
 
AWS Security and SecOps
AWS Security and SecOpsAWS Security and SecOps
AWS Security and SecOps
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Amazon OpenSearch Service
Amazon OpenSearch ServiceAmazon OpenSearch Service
Amazon OpenSearch Service
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
 
Introduction to WAF and Network Application Security
Introduction to WAF and Network Application SecurityIntroduction to WAF and Network Application Security
Introduction to WAF and Network Application Security
 
Using Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And TestingUsing Virtualization To Improve Development And Testing
Using Virtualization To Improve Development And Testing
 
Getting Started with Amazon EC2
Getting Started with Amazon EC2Getting Started with Amazon EC2
Getting Started with Amazon EC2
 
NJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep DiveNJ Hadoop Meetup - Apache NiFi Deep Dive
NJ Hadoop Meetup - Apache NiFi Deep Dive
 
SaaS Challenges & Security Concerns
SaaS Challenges & Security ConcernsSaaS Challenges & Security Concerns
SaaS Challenges & Security Concerns
 
Amazon Kinesis
Amazon KinesisAmazon Kinesis
Amazon Kinesis
 
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud MigrationCapgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
Capgemini Cloud Assessment - A Pathway to Enterprise Cloud Migration
 
Splunk Cloud
Splunk CloudSplunk Cloud
Splunk Cloud
 
When apache pulsar meets apache flink
When apache pulsar meets apache flinkWhen apache pulsar meets apache flink
When apache pulsar meets apache flink
 

Similar to Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019

Production Monitoring with ServicePulse and the Particular Service Platform
Production Monitoring with ServicePulse and the Particular Service PlatformProduction Monitoring with ServicePulse and the Particular Service Platform
Production Monitoring with ServicePulse and the Particular Service Platform
danc25
 

Similar to Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019 (20)

Building Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptnBuilding Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptn
 
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD MeetupKeptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
Keptn: Unbreakable Continuous Delivery - Berlin CI/CD Meetup
 
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
 
Under the hood of the particular service platform
Under the hood of the particular service platformUnder the hood of the particular service platform
Under the hood of the particular service platform
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-action
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Automated Server Administration for DevSecOps
Automated Server Administration for DevSecOpsAutomated Server Administration for DevSecOps
Automated Server Administration for DevSecOps
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
Production Monitoring with ServicePulse and the Particular Service Platform
Production Monitoring with ServicePulse and the Particular Service PlatformProduction Monitoring with ServicePulse and the Particular Service Platform
Production Monitoring with ServicePulse and the Particular Service Platform
 
MoniTutor
MoniTutorMoniTutor
MoniTutor
 
Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019
 
Releasemanagement in integration projects
Releasemanagement in integration projectsReleasemanagement in integration projects
Releasemanagement in integration projects
 
Blugento cloud foundry - components - principles
Blugento cloud foundry - components - principlesBlugento cloud foundry - components - principles
Blugento cloud foundry - components - principles
 
Why favour Icinga over Nagios @ FrOSCon 2015
Why favour Icinga over Nagios @ FrOSCon 2015Why favour Icinga over Nagios @ FrOSCon 2015
Why favour Icinga over Nagios @ FrOSCon 2015
 
Production Monitoring with ServicePulse
Production Monitoring with ServicePulseProduction Monitoring with ServicePulse
Production Monitoring with ServicePulse
 
Windows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceWindows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile Workforce
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
Building a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAPBuilding a Utilities Portal with Magnolia 5 & SAP
Building a Utilities Portal with Magnolia 5 & SAP
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Analytics, Authentication and Data with AWS Amplify - MBL403 - re:Invent 2017
Analytics, Authentication and Data with  AWS Amplify - MBL403 - re:Invent 2017Analytics, Authentication and Data with  AWS Amplify - MBL403 - re:Invent 2017
Analytics, Authentication and Data with AWS Amplify - MBL403 - re:Invent 2017
 

More from Icinga

More from Icinga (20)

Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
 
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
 
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
 
Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...
 
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
 
SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023
 
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
 
Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023
 
Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
 
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
 
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
 
Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019
 
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
 
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
 
Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019
 
Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019
 
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
 
Current State of Logmanagement with Icinga - Icinga Camp Stockholm 2019
Current State of Logmanagement with Icinga - Icinga Camp Stockholm 2019Current State of Logmanagement with Icinga - Icinga Camp Stockholm 2019
Current State of Logmanagement with Icinga - Icinga Camp Stockholm 2019
 
Flying blind - Accessibility in Icinga Web 2 - Icinga Camp Stockholm 2019
Flying blind - Accessibility in Icinga Web 2 - Icinga Camp Stockholm 2019Flying blind - Accessibility in Icinga Web 2 - Icinga Camp Stockholm 2019
Flying blind - Accessibility in Icinga Web 2 - Icinga Camp Stockholm 2019
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019

  • 1. VSHN - The DevOps Company © 2018 VSHN AG VSHN AG The DevOps Company ICINGA Camp - GOLD SPONSOR
  • 2. VSHN - The DevOps Company ● 42 employees, 25+ MSc. / BSc. in Computer Science ● Owner-managed, no external investors ● SCRUM, KanBan, Agile ● Offices location directly at Zurich HB ● Founded in 2014, cash flow positive since 2015 22 Our Company Our Values ● Take responsibility and guarantee 100% reliability ● Expert knowledge and Swiss quality in all work steps ● Cost savings through automation and standardization ● Equal Employment Opportunity ● Operation of software on any infrastructure - whether cloud or in-house ● Collaboration with software developers - stability despite agility ● Automation of DevOps processes ● First Kubernetes Certified Service Provider in Switzerland ● ISO27001 certified and FINMA audited Business & Operations processes Our Business
  • 3. Learn more at: https://vshn.ch/ 3 VSHN (pronounced ˈvɪʒn like "vision") is the leading Swiss partner for DevOps, Docker, Kubernetes, OpenShift and 24/7 Cloud Operations. We look forward to hearing from you. Follow us on Twitter! @vshn_ch VSHN AG - Neugasse 10 - CH-8005 Zurich - Switzerland - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch
  • 4. VSHN - The DevOps Company Signalilo Visualizing Prometheus Alerts in Icinga Simon Gerber, VSHN AG
  • 5. VSHN - The DevOps Company 55 Monitoring at VSHN
  • 6. VSHN - The DevOps Company 66 Monitoring OpenShift ● 25 OpenShift Clusters ○ Custom Icinga checks ● Since OpenShift 3.11 ○ Prometheus ○ Alertmanager
  • 7. VSHN - The DevOps Company 77 Signalilo Alertmanager OpenShift cluster Signalilogenerated alerts webhook VSHN API calls
  • 8. VSHN - The DevOps Company 88 Prometheus alerts in Icinga
  • 9. VSHN - The DevOps Company 99 Icinga ApiUser object ApiUser "signalilo_cluster.appuio.ch" { password = "<redacted>" permissions = [ { permission = "objects/query/*" filter = {{ host.name == "signalilo_cluster.appuio.ch" }} }, { permission = "objects/create/service" filter = {{ host.name == "signalilo_cluster.appuio.ch" }} }, { permission = "objects/modify/service" filter = {{ host.name == "signalilo_cluster.appuio.ch" }} }, { permission = "objects/delete/service" filter = {{ host.name == "signalilo_cluster.appuio.ch" }} }, { permission = "actions/process-check-result" filter = {{ host.name == "signalilo_cluster.appuio.ch" }} }, ] }
  • 10. VSHN - The DevOps Company 1010 Icinga Host object Host "signalilo_cluster.appuio.ch" { display_name = "Signalilo signalilo_cluster.appuio.ch" check_command = "dummy" enable_passive_checks = false enable_perfdata = false vars.customer = "appuio" vars.ignore_service_icinga = true }
  • 11. VSHN - The DevOps Company 1111 Icinga Heartbeat Service template Service "signalilo-heartbeat-template" { vars.dummy_text = {{ var service = get_service(macro("$host.name$"), macro("$service.name$")) var lastCheck = DateTime(service.last_check).to_string() return "Missing heartbeat pings from Signalilo. Last ping received at: " + lastCheck }} } object Service "heartbeat" { import "signalilo-heartbeat-template" host_name = "signalilo_cluster.appuio.ch" check_command = "dummy" check_interval = 300s max_check_attempts = 1 enable_perfdata = false vars.dummy_state = 1 }
  • 12. VSHN - The DevOps Company Signalilo and Alertmanager Config 1212 containers: - env: - name: SIGNALILO_UUID value: <redacted> - name: SIGNALILO_ICINGA_HOSTNAME value: signalilo_cluster.appuio.ch - name: SIGNALILO_ICINGA_URL value: https://<vshn icinga>:5665 - name: SIGNALILO_ICINGA_CA value: |- -----BEGIN CERTIFICATE----- <snip> -----END CERTIFICATE----- - name: SIGNALILO_ICINGA_USERNAME value: signalilo_cluster.appuio.ch - name: SIGNALILO_ICINGA_PASSWORD value: <redacted> # or from Kubernetes secret - name: SIGNALILO_ALERTMANAGER_BEARER_TOKEN value: <redacted> # or from Kubernetes secret receivers: - name: default webhook_configs: - send_resolved: true http_config: bearer_token: <secret> url: http://signalilo.appuio-monitoring/webhook Alermanager Signalilo
  • 13. VSHN - The DevOps Company 1313 Alerts as Services
  • 14. VSHN - The DevOps Company 1414 Alerts as Services ● Passive service ● Service state updated by Signalilo ● alertname annotation as service display name ● message annotation as check output ● severity label translated to service state
  • 15. VSHN - The DevOps Company 1515 Alerts as Services ● All alert annotations and labels visible as custom variables ● Services in OK state are GCd by Signalilo ○ state for GC process is stored as custom variables on alert
  • 16. VSHN - The DevOps Company 1616 Alerts as Services ● The same alert results in update to same Icinga service ● Alert identity defined as set of labels and annotations ○ except for severity label
  • 17. Signalilo is Open Source Coming Soon! https://github.com/vshn/signalilo 17
  • 18. Come visit us for a coffee! VSHN AG - Neugasse 10 - CH-8005 Zürich - +41 44 545 53 00 - https://vshn.ch/ - info@vshn.ch https://vshn.ch/kontakt/ Follow us on Twitter! @vshn_ch 18