The document discusses the Zabbix API and Zabcon, a command line tool for interacting with the Zabbix API. Zabcon simplifies making API calls by allowing users to authenticate once and issue commands to retrieve host data, update host statuses, and create custom commands. The document demonstrates examples of using the Zabbix API directly and through Zabcon to retrieve host information and disable a host.
Application Logging in the 21st century - 2014.keyTim Bunce
Slides for my talk at the Austrian Perl Workshop in Salzburg on October 10th.
A video of the talk can be found at https://www.youtube.com/watch?v=4Qj-_eimGuE
Rihards Olups - Encrypting Daemon Traffic With Zabbix 3.0Zabbix
Are you paranoid? Even if you are not, it might be a good idea to encrypt your email. Important documents. Communication. While monitoring data is not secret in many cases, transmitting it in plaintext over Internet does make some people nervous. And now, with Zabbix 3.0, there's a built-in way to encrypt communication between components, including Zabbix server, proxy, agent, get and sender. Yes, them all. In this short talk we'll learn about the available modes, supported libraries and how to configure it all to still make sense a few years later.
Zabbix Conference 2015
Raymond Kuiper - Working the API like a Unix ProZabbix
Communicating with the Zabbix API can be quite cumbersome, especially if you don't have a background as a programmer. For a sysadmin, it would be very nice if one could just run some CLI commands to control Zabbix behavior.
Wouldn't it be wonderful if you could fetch a list of active triggers and parse it with grep or sed to find the specific triggers you are looking for? Or perhaps you need a list of historic values that you can parse in a custom script? How about a cronjob that downloads and emails all the graphs in the system matching a certain regex?
In this presentation Raymond Kuiper will talk about some of these possibilities and show you how he achieved these things in his Zabbix setup.
Zabbix Conference 2015
Volker Fröhlich - How to Debug Common Agent IssuesZabbix
Probably every Zabbix user has a story of a Zabbix agent suddenly failing to work. Computers and networks are complex and diverse, and so are the causes of these problems.
This talk introduces a structured approach to debugging configuration problems, connectivity problems and problems in the execution of the agent. It will spotlight common problems, but also some rather obscure ones I met in the wild.
Zabbix Conference 2015
Slides for my Perl Memory Use talk at YAPC::Asia in Tokyo, September 2012.
(This uploaded version includes quite a few slides from the OSCON version that I skipped at YAPC::Asia in order to have more time for a demo.)
This document provides an introduction to Kibana4 and how to use its features. It discusses the major components of Kibana4 including Discover, Visualize, and Dashboard. It also covers visualization types like metrics, buckets, and aggregations. The document provides examples of using aggregations versus facets and describes settings, scripted fields, and plugins. It concludes by discussing potential future directions for Kibana.
Devel::NYTProf 2009-07 (OUTDATED, see 201008)Tim Bunce
The slides of my "State-of-the-art Profiling with Devel::NYTProf" talk at OSCON in July 2009.
I'll upload a screencast and give the link in a blog post at http://blog.timbunce.org
- The document discusses using the ELK stack (Elasticsearch, Logstash, Kibana) to perform real-time log search, analysis, and monitoring. It provides examples of using Logstash and Elasticsearch for parsing and indexing application logs, and using Kibana for visualization and analysis.
- The document identifies several performance and stability issues with Logstash and Elasticsearch including high CPU usage from grok filtering, GeoIP filtering performance, and Elasticsearch relocation and recovery times. It proposes solutions like custom filtering plugins, tuning Elasticsearch configuration, and optimizing mappings.
- Rsyslog is presented as an alternative to Logstash for log collection with better performance. Examples are given of using Rsyslog plugins and Rainerscript for efficient
Application Logging in the 21st century - 2014.keyTim Bunce
Slides for my talk at the Austrian Perl Workshop in Salzburg on October 10th.
A video of the talk can be found at https://www.youtube.com/watch?v=4Qj-_eimGuE
Rihards Olups - Encrypting Daemon Traffic With Zabbix 3.0Zabbix
Are you paranoid? Even if you are not, it might be a good idea to encrypt your email. Important documents. Communication. While monitoring data is not secret in many cases, transmitting it in plaintext over Internet does make some people nervous. And now, with Zabbix 3.0, there's a built-in way to encrypt communication between components, including Zabbix server, proxy, agent, get and sender. Yes, them all. In this short talk we'll learn about the available modes, supported libraries and how to configure it all to still make sense a few years later.
Zabbix Conference 2015
Raymond Kuiper - Working the API like a Unix ProZabbix
Communicating with the Zabbix API can be quite cumbersome, especially if you don't have a background as a programmer. For a sysadmin, it would be very nice if one could just run some CLI commands to control Zabbix behavior.
Wouldn't it be wonderful if you could fetch a list of active triggers and parse it with grep or sed to find the specific triggers you are looking for? Or perhaps you need a list of historic values that you can parse in a custom script? How about a cronjob that downloads and emails all the graphs in the system matching a certain regex?
In this presentation Raymond Kuiper will talk about some of these possibilities and show you how he achieved these things in his Zabbix setup.
Zabbix Conference 2015
Volker Fröhlich - How to Debug Common Agent IssuesZabbix
Probably every Zabbix user has a story of a Zabbix agent suddenly failing to work. Computers and networks are complex and diverse, and so are the causes of these problems.
This talk introduces a structured approach to debugging configuration problems, connectivity problems and problems in the execution of the agent. It will spotlight common problems, but also some rather obscure ones I met in the wild.
Zabbix Conference 2015
Slides for my Perl Memory Use talk at YAPC::Asia in Tokyo, September 2012.
(This uploaded version includes quite a few slides from the OSCON version that I skipped at YAPC::Asia in order to have more time for a demo.)
This document provides an introduction to Kibana4 and how to use its features. It discusses the major components of Kibana4 including Discover, Visualize, and Dashboard. It also covers visualization types like metrics, buckets, and aggregations. The document provides examples of using aggregations versus facets and describes settings, scripted fields, and plugins. It concludes by discussing potential future directions for Kibana.
Devel::NYTProf 2009-07 (OUTDATED, see 201008)Tim Bunce
The slides of my "State-of-the-art Profiling with Devel::NYTProf" talk at OSCON in July 2009.
I'll upload a screencast and give the link in a blog post at http://blog.timbunce.org
- The document discusses using the ELK stack (Elasticsearch, Logstash, Kibana) to perform real-time log search, analysis, and monitoring. It provides examples of using Logstash and Elasticsearch for parsing and indexing application logs, and using Kibana for visualization and analysis.
- The document identifies several performance and stability issues with Logstash and Elasticsearch including high CPU usage from grok filtering, GeoIP filtering performance, and Elasticsearch relocation and recovery times. It proposes solutions like custom filtering plugins, tuning Elasticsearch configuration, and optimizing mappings.
- Rsyslog is presented as an alternative to Logstash for log collection with better performance. Examples are given of using Rsyslog plugins and Rainerscript for efficient
Slides for my talk at the London Perl Workshop in Nov 2013, featuring the Devel::SizeMe perl module.
See also the screencast at https://archive.org/details/Perl-Memory-Profiling-LPW2013
"Swoole: double troubles in c", Alexandr VronskiyFwdays
Practices in using Swoole ecosystem & migration real production marketplace app to async approach. Which benefits we got and what problems happens on stack with PHP8, Postgresql, Redis, RebbitMQ, Doctrine, coroutines/fibers, concurrency HTTP Server.
What you need to remember when you upload to CPANcharsbar
Perlのモジュールを公開するときに気をつけておいた方がよい個のこと
This document provides tips for publishing Perl modules to CPAN. It discusses things to be aware of such as distributions being permanently archived on BackPAN even if deleted, CPAN accepting almost anything, and several testing services that can improve modules like PAUSE, CPAN Testers, CPANTS, and more. It also covers best practices for metrics evaluated by these services around availability, integrity, file layout, prerequisites and more. Developers are encouraged to use better tools from the Perl Toolchain Gang to avoid issues.
Modern tooling to assist with developing applications on FreeBSDSean Chittenden
Discuss a workflow and the tooling for FreeBSD engineers to develop locally on their laptop (OS-X, Windows, or FreeBSD), and push applications to bare metal or the cloud. The tooling required to provide good automation from a developer laptop to production takes time to evolve, however this lecture will jumpstart a series of best practices for FreeBSD engineers who want to see their business applications run on FreeBSD.
DBD::Gofer is the scalable stateless proxy driver for Perl DBI.
These are the slides for my lightning talk on DBD::Gofer given at the Italian Perl Workshop in 2008 (with a few extra slides added).
Slides for my talk at SkyCon'12 in Limerick.
Here I've squeezed four talks into one, covering a lot of ground quickly, so I've included links to more detailed presentations and other resources.
Slides of my talk on Devel::NYTProf and optimizing perl code at YAPC::NA in June 2014. It covers use of NYTProf and outlines a multi-phase approach to optimizing your perl code.
A video of the talk and questions is available at https://www.youtube.com/watch?v=T7EK6RZAnEA&list=UU7y4qaRSb5w2O8cCHOsKZDw
Jean-Baptiste Favre - How to Monitor Bilions of Miles Shared by 20 Million Us...Zabbix
This talk will cover a case study at BlaBlaCar, a transport network community with more than 20 milion members in 19 countires. The presentation will overview using a low-powered virtual machine to monitor the whole environment, concentrating on LLD and trapper items. Also projects like python-protobix, jmx-zabbix and python-zabbix will be covered.
Zabbix Conference 2015
Perl Memory Use 201207 (OUTDATED, see 201209 )Tim Bunce
This document discusses Perl memory use and provides an overview of how Perl processes use and manage memory. It identifies key issues and complications with Perl memory and outlines useful tools for analyzing Perl memory usage, such as various Perl modules and Linux commands. The document focuses on the Linux operating system and dives into details of how Perl handles memory on both the process and system level, including memory mapping, page usage, and how Perl stores and manages data in memory.
Testing your infrastructure with litmusBram Vogelaar
We have been able to test our puppet modules using rspec-puppet and
serverspec for a while now and the quality of our code is improving because
of it. This talk will introduce the new kid on the block litmus. This talk will show you how
to use litmus to test puppet modules and how to convert your existing modules to make use of litmus.
Rihards Olups - Zabbix at Nokia - Case StudyZabbix
We will explore a fairly complicated Zabbix environment at one division in Nokia. Having several different Zabbix versions in use and a lot of custom products monitored, it is a place one can get lost in easily. We'll discuss JMX monitoring, approaches to keep notification configuration simple and notifications useful, different usecases for the Zabbix API and a lot of other topics. The importance of the SSL compliance will be covered along with some of the many ways custom solutions are monitored.
No REST for the Wicked: REST and CatalystJay Shirley
The document provides an overview of REST and how it can be implemented using the Catalyst framework in Perl. It discusses what REST is, how it leverages existing aspects of HTTP like verbs and status codes, and isn't a defined protocol but a set of best practices. It then describes the Catalyst::Action::REST module which makes it easy to build RESTful APIs in Catalyst and supports various serialization formats. Examples are given of performing CRUD operations via REST calls from the command line and how to handle this in browsers using JavaScript and YUI.
This document discusses deploying Plack web applications. It begins with an overview of the PSGI specification and how it allows various web frameworks like Catalyst and Dancer to run on different web servers through a common interface. It then discusses various options for the server environment including standalone HTTP servers like Starman and FastCGI servers. Finally, it covers useful Plack middleware for application environments, including modules for rate limiting, caching, authentication, and more.
This is story of our journey from SaltStack to Puppet and beyond. This talk will answer following questions:
- why we moved from SaltStack
- why Puppet was chosen
- how to use Puppet OpenSource in painless way
- which orchestration tool to use with Puppet
- what is next
Процесс разработки не начинается и не заканчивается на написании кода программного продукта. Мы пишем документацию, придумываем, как это всё оттестировать, и заботимся о том, чтобы доступность приложения была на высоком уровне.
Мы все делаем привычные вещи привычным для нас способом. Порой выполняя много ручной и неэффективной работы. Но что, если есть другой, радикальный подход. Можно ли формализовать свою деятельность и переложить её в код? Какие практики и инструменты для этого использовать?
В докладе будет представлен личный опыт автора по автоматизации различных элементов разработки ПО.
Ansible is an open source automation platform, written in Python, that can be used for configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, multinode orchestration and so on. This talk is an introduction to Ansible for beginners, including tips like how to use containers to mimic multiple machines while iteratively automating some tasks or testing.
This document discusses various homebrew defensive security techniques, including:
1. Code reviews, linting, and bug bounty programs to improve application security.
2. Techniques like URI signing, AJAX request tokens, and the Origin header to detect "untrusted requests" or potential security bugs.
3. The use of response headers like X-Frame-Options and X-XSS-Protection to block framing attacks and cross-site scripting.
The overall goal is to demonstrate deployable, real-world solutions that developers can implement using code to improve both application security and corporate security. Code and rapid iteration are seen as providing security benefits when used to detect and block unintended actions initiated
Vous n'avez pas pu assister à la journée DevOps by Xebia ? Voici la présentation de Vincent Spiewak (Xebia) à propos d'ElasticSearch, Logstash et Kibana.
Static typing in Vault refers to enforcing the structure and location of secrets stored in Vault. This can be achieved by using a script or tool to validate secrets against JSON schemas before they are written or accessed. The schemas define the required properties and structure for different secret types. Using a generic validation tool allows schemas to be centrally defined and ensures secrets match the expected format, reducing errors from incorrectly structured secrets.
This document discusses how to interface with Zabbix using the Zabbix API and related tools. It describes the Zabbix API and how it enables controlling Zabbix through programs. It also covers some command line and library tools for the Zabbix API as well as other protocols like Zabbix Get and Zabbix Sender that can be used to send and retrieve data from Zabbix.
This document discusses using Ansible to automate network infrastructure. It provides an overview of Ansible, how it works, and demos of using it to configure a Cisco router. The document outlines installing and running Ansible, including using ad-hoc commands and playbooks. It demonstrates basic configuration, interface configuration, saving configurations, and using Ansible with BGPQ3 to automatically announce IP prefixes to routers on a schedule.
Slides for my talk at the London Perl Workshop in Nov 2013, featuring the Devel::SizeMe perl module.
See also the screencast at https://archive.org/details/Perl-Memory-Profiling-LPW2013
"Swoole: double troubles in c", Alexandr VronskiyFwdays
Practices in using Swoole ecosystem & migration real production marketplace app to async approach. Which benefits we got and what problems happens on stack with PHP8, Postgresql, Redis, RebbitMQ, Doctrine, coroutines/fibers, concurrency HTTP Server.
What you need to remember when you upload to CPANcharsbar
Perlのモジュールを公開するときに気をつけておいた方がよい個のこと
This document provides tips for publishing Perl modules to CPAN. It discusses things to be aware of such as distributions being permanently archived on BackPAN even if deleted, CPAN accepting almost anything, and several testing services that can improve modules like PAUSE, CPAN Testers, CPANTS, and more. It also covers best practices for metrics evaluated by these services around availability, integrity, file layout, prerequisites and more. Developers are encouraged to use better tools from the Perl Toolchain Gang to avoid issues.
Modern tooling to assist with developing applications on FreeBSDSean Chittenden
Discuss a workflow and the tooling for FreeBSD engineers to develop locally on their laptop (OS-X, Windows, or FreeBSD), and push applications to bare metal or the cloud. The tooling required to provide good automation from a developer laptop to production takes time to evolve, however this lecture will jumpstart a series of best practices for FreeBSD engineers who want to see their business applications run on FreeBSD.
DBD::Gofer is the scalable stateless proxy driver for Perl DBI.
These are the slides for my lightning talk on DBD::Gofer given at the Italian Perl Workshop in 2008 (with a few extra slides added).
Slides for my talk at SkyCon'12 in Limerick.
Here I've squeezed four talks into one, covering a lot of ground quickly, so I've included links to more detailed presentations and other resources.
Slides of my talk on Devel::NYTProf and optimizing perl code at YAPC::NA in June 2014. It covers use of NYTProf and outlines a multi-phase approach to optimizing your perl code.
A video of the talk and questions is available at https://www.youtube.com/watch?v=T7EK6RZAnEA&list=UU7y4qaRSb5w2O8cCHOsKZDw
Jean-Baptiste Favre - How to Monitor Bilions of Miles Shared by 20 Million Us...Zabbix
This talk will cover a case study at BlaBlaCar, a transport network community with more than 20 milion members in 19 countires. The presentation will overview using a low-powered virtual machine to monitor the whole environment, concentrating on LLD and trapper items. Also projects like python-protobix, jmx-zabbix and python-zabbix will be covered.
Zabbix Conference 2015
Perl Memory Use 201207 (OUTDATED, see 201209 )Tim Bunce
This document discusses Perl memory use and provides an overview of how Perl processes use and manage memory. It identifies key issues and complications with Perl memory and outlines useful tools for analyzing Perl memory usage, such as various Perl modules and Linux commands. The document focuses on the Linux operating system and dives into details of how Perl handles memory on both the process and system level, including memory mapping, page usage, and how Perl stores and manages data in memory.
Testing your infrastructure with litmusBram Vogelaar
We have been able to test our puppet modules using rspec-puppet and
serverspec for a while now and the quality of our code is improving because
of it. This talk will introduce the new kid on the block litmus. This talk will show you how
to use litmus to test puppet modules and how to convert your existing modules to make use of litmus.
Rihards Olups - Zabbix at Nokia - Case StudyZabbix
We will explore a fairly complicated Zabbix environment at one division in Nokia. Having several different Zabbix versions in use and a lot of custom products monitored, it is a place one can get lost in easily. We'll discuss JMX monitoring, approaches to keep notification configuration simple and notifications useful, different usecases for the Zabbix API and a lot of other topics. The importance of the SSL compliance will be covered along with some of the many ways custom solutions are monitored.
No REST for the Wicked: REST and CatalystJay Shirley
The document provides an overview of REST and how it can be implemented using the Catalyst framework in Perl. It discusses what REST is, how it leverages existing aspects of HTTP like verbs and status codes, and isn't a defined protocol but a set of best practices. It then describes the Catalyst::Action::REST module which makes it easy to build RESTful APIs in Catalyst and supports various serialization formats. Examples are given of performing CRUD operations via REST calls from the command line and how to handle this in browsers using JavaScript and YUI.
This document discusses deploying Plack web applications. It begins with an overview of the PSGI specification and how it allows various web frameworks like Catalyst and Dancer to run on different web servers through a common interface. It then discusses various options for the server environment including standalone HTTP servers like Starman and FastCGI servers. Finally, it covers useful Plack middleware for application environments, including modules for rate limiting, caching, authentication, and more.
This is story of our journey from SaltStack to Puppet and beyond. This talk will answer following questions:
- why we moved from SaltStack
- why Puppet was chosen
- how to use Puppet OpenSource in painless way
- which orchestration tool to use with Puppet
- what is next
Процесс разработки не начинается и не заканчивается на написании кода программного продукта. Мы пишем документацию, придумываем, как это всё оттестировать, и заботимся о том, чтобы доступность приложения была на высоком уровне.
Мы все делаем привычные вещи привычным для нас способом. Порой выполняя много ручной и неэффективной работы. Но что, если есть другой, радикальный подход. Можно ли формализовать свою деятельность и переложить её в код? Какие практики и инструменты для этого использовать?
В докладе будет представлен личный опыт автора по автоматизации различных элементов разработки ПО.
Ansible is an open source automation platform, written in Python, that can be used for configuration-management, application deployment, cloud provisioning, ad-hoc task-execution, multinode orchestration and so on. This talk is an introduction to Ansible for beginners, including tips like how to use containers to mimic multiple machines while iteratively automating some tasks or testing.
This document discusses various homebrew defensive security techniques, including:
1. Code reviews, linting, and bug bounty programs to improve application security.
2. Techniques like URI signing, AJAX request tokens, and the Origin header to detect "untrusted requests" or potential security bugs.
3. The use of response headers like X-Frame-Options and X-XSS-Protection to block framing attacks and cross-site scripting.
The overall goal is to demonstrate deployable, real-world solutions that developers can implement using code to improve both application security and corporate security. Code and rapid iteration are seen as providing security benefits when used to detect and block unintended actions initiated
Vous n'avez pas pu assister à la journée DevOps by Xebia ? Voici la présentation de Vincent Spiewak (Xebia) à propos d'ElasticSearch, Logstash et Kibana.
Static typing in Vault refers to enforcing the structure and location of secrets stored in Vault. This can be achieved by using a script or tool to validate secrets against JSON schemas before they are written or accessed. The schemas define the required properties and structure for different secret types. Using a generic validation tool allows schemas to be centrally defined and ensures secrets match the expected format, reducing errors from incorrectly structured secrets.
This document discusses how to interface with Zabbix using the Zabbix API and related tools. It describes the Zabbix API and how it enables controlling Zabbix through programs. It also covers some command line and library tools for the Zabbix API as well as other protocols like Zabbix Get and Zabbix Sender that can be used to send and retrieve data from Zabbix.
This document discusses using Ansible to automate network infrastructure. It provides an overview of Ansible, how it works, and demos of using it to configure a Cisco router. The document outlines installing and running Ansible, including using ad-hoc commands and playbooks. It demonstrates basic configuration, interface configuration, saving configurations, and using Ansible with BGPQ3 to automatically announce IP prefixes to routers on a schedule.
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
This document discusses integrating infrastructure as code into a continuous delivery pipeline. It covers DevOps principles like collaboration, automation, and monitoring everything. It discusses benefits like increased velocity and reduced risk. Infrastructure as code is realized using tools like Ansible, Chef, and Terraform to define infrastructure in code. This allows infrastructure to be treated like code and integrated into software development pipelines for continuous integration and delivery of both application and infrastructure changes.
The document introduces OpenFaaS, an open source serverless framework that allows users to easily create and deploy serverless functions. It discusses how OpenFaaS works with containers and can run on any infrastructure, provides examples of common use cases for serverless functions, and outlines how to write, build, deploy and invoke functions using OpenFaaS. The document also previews some of OpenFaaS' upcoming features and provides recommendations for where users can learn more.
This document discusses server-sent events (SSE) and provides examples of using SSE with Flask and Python. SSE allows for single-connection server push capabilities in HTML5. It then demonstrates how to build a simple SSE example using Flask, Redis, and an asynchronous WSGI server like Gunicorn. The example shows how updated text can be pushed from the server in real-time to the browser without reloading the page. Finally, potential other uses of SSE like dynamic website updates and real-time games are mentioned.
Salt and Ansible are both popular tools for network orchestration and automation. Salt uses a centralized master-minion architecture where configuration files and templates are stored on the master. Ansible uses an agentless architecture where playbooks are run directly on managed nodes. Both tools support network device configuration through modules like NAPALM that provide a common API. Salt states and Ansible playbooks define the desired configuration through templates that are rendered and installed on devices. The tools detect configuration drift and make necessary changes.
Ruby on Rails is an open-source web framework that is optimized for programmer happiness and productivity. It allows developers to write code more easily by favoring conventions over rigid configuration. Ruby on Rails uses conventions to make assumptions about how apps should be structured, reducing the amount of configuration code needed.
Serverless in production, an experience report (CoDe-Conf)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan and Scott will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
This document provides an overview and introduction to Nuclio, an open source serverless platform. Some key points:
- Nuclio is described as a new real-time serverless platform that is comprehensive, open, super fast, and can run anywhere. It provides high performance for serverless functions.
- It supports a variety of programming languages and event sources. Functions can be easily deployed and auto-scaled.
- Nuclio is presented as a solution for complex serverless applications through its data integration capabilities and high performance. Examples of real-time applications using Nuclio are described like fleet management, surveillance, and more.
This document discusses various techniques for monitoring applications without interfering with core engineering work. It recommends using open source tools like the Wordnik profiler, Swagger, and MongoDB's oplog to provide business metrics monitoring and allow product teams to define their own metrics. The oplog can be used to access real-time data changes and power use cases like alerts, analytics, and pushing data to external systems without interrupting application code.
Bay Area Chef Meetup 4/26/2011 presnentation on what's new in the upcoming Chef 0.10 release. http://www.opscode.com/blog/2011/04/20/april-26th-bay-area-chef-meetup-whats-new-in-chef-0-10/
Serverless in Production, an experience report (AWS UG South Wales)Yan Cui
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan and Scott will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
This is a presentation for International Lisp Conference 2012 which was held in Kyoto, Japan.
Clack is a web application environment for Common Lisp to make your web applications be portable and reusable by abstracting HTTP into a simple API.
In this paper, I describe what are problems in web development and how Clack solves them.
Bare Metal to OpenStack with Razor and ChefMatt Ray
Razor is an open source provisioning tool that was originally developed by EMC and Puppet Labs. It can discover hardware, select images to deploy, and provision nodes using model-based provisioning. The demo showed setting up a Razor appliance, adding images, models, policies, and brokers. It then deployed an OpenStack all-in-one environment to a new VM using Razor and Chef. The OpenStack cookbook walkthrough explained the roles, environments, and cookbooks used to deploy and configure OpenStack components using Chef.
Serverless in production, an experience report (FullStack 2018)Yan Cui
This document discusses considerations for making serverless applications production ready. It covers topics like testing, monitoring, logging, deployment pipelines, performance optimization, and security. The document emphasizes principles over specific tools, and recommends focusing on shipping working software through practices like embracing external services for testing instead of mocking.
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOPMykola Novik
The document discusses various approaches for dealing with blocking code within the asyncio event loop:
1. Check if a compatible asyncio library exists
2. Check if a REST API is available to avoid blocking
3. Check if there is a simple text or binary protocol that can be implemented without blocking
4. Check if there is an existing synchronous Python client that can be adapted
5. Use a thread pool executor to run blocking code in separate threads to avoid blocking the event loop
For filesystem and CPU intensive operations, the document recommends using a thread pool executor due to OS limitations on asynchronous filesystem access. The aiofiles library provides an asynchronous filesystem wrapper that uses threads in the background.
AWS Lambda has changed the way we deploy and run software, but this new serverless paradigm has created new challenges to old problems - how do you test a cloud-hosted function locally? How do you monitor them? What about logging and config management? And how do we start migrating from existing architectures?
In this talk Yan will discuss solutions to these challenges by drawing from real-world experience running Lambda in production and migrating from an existing monolithic architecture.
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Puppet
The document discusses ways to monitor and tune Puppet infrastructure using the same techniques used for applications. It describes instrumenting the Puppet master and database with New Relic to monitor performance. It also discusses collecting logs and reports from Puppet agents and masters and sending them to Elasticsearch for analysis in Kibana.
Promotoria de Justiça de Defesa do Consumidor de Santos
Análise da Viabilidade da Utilização da Pista Sul da Rodovia dos Imigrantes (trecho serra), pelos veículos comerciais de transporte coletivo de pessoas (ônibus, micro-ônibus e vans)
Representação ao MP sobre a descida de Ônibus na Pista Sul da ImigrantesRicardo Santos
Representação apresentada no dia 20 de setembro de 2013 pelo vereador Evaldo Stanislau (PT/Santos) ao Ministério Público sobre a descida de Ônibus na Pista Sul da Imigrantes
Apresentação da ARTESP em 27/08 para deputados no Plenário Tiradentes na Assembleia Legislativa de São Paulo - sobre a questão dos ônibus trafegarem na Pista Sul da Imigrantes
ATA da Reunião com a ARTESP no dia 12/07/2013Ricardo Santos
ATA da Reunião entre as Associações de Fretados, Polícia Militar, ECOVIAS e ARTESP sobre a Descida de Ônibus Fretados pela Imigrantes no dia 12/07/2013
ATA da Reunião da AFREBAS com na Prefeitura de SantosRicardo Santos
A reunião discutiu problemas enfrentados por usuários de fretamento na Baixada Santista, como acidentes com caminhões e falta de segurança. O Vice-Prefeito se comprometeu a melhorar o sistema de transporte e criar uma câmara temática. A associação AFREBAS agradeceu e colocou-se à disposição para ajudar.
Comunicado da AFREBAS aos seus Usuários sobre as ManifestaçõesRicardo Santos
Comunicado da AFREBAS (Associação de Fretamento de Executivos da Baixada Santista) aos seus usuários, coordenadores, empresários e parceiros sobre as manifestações em relação a liberação da descida de fretados pela pista sul da Imigrantes
Aplicabilidade de alternativas que promovam a melhoria contínua do tráfego de...Ricardo Santos
Aplicabilidade de alternativas que promovam a melhoria contínua do tráfego de ônibus fretados oriundos da Baixada Santista através do Sistema Anchieta-Imigrantes
Autores: Carolina A. Chaud e Zaira Sena (AFREBAS)
This document discusses extending Zabbix using its API. [1] It describes a real-world example of a service called Tribily that provides server monitoring as a service (SMaaS) by interfacing with Zabbix through a custom Drupal module. [2] The module allows users to be created in Zabbix corresponding to Drupal users and assigns templates based on roles to centrally manage monitoring configurations. [3] Challenges in working with an older Zabbix API are discussed as well as plans for further improving the integration between Drupal and Zabbix.
The hidden power of network maps on ZabbixRicardo Santos
Maps can be customized in various ways including custom icons, labels, links, and real-time data display. Elements on maps can be edited, multiple elements selected together, and links can branch. Maps can be saved, exported as XML, and accessed via the API or by name in the URL. Background images and icons can be imported.
This document summarizes a presentation on optimizing Zabbix performance through tuning. It discusses identifying and fixing common problems like default templates and database settings. Next, it covers tuning Zabbix configuration by adjusting the number of server processes and monitoring internal stats. Additional optimizations include using proxies to distribute load, partitioning historical tables, and running Zabbix components on separate hardware. The summary emphasizes monitoring internal stats, tuning configurations and databases, disabling housekeeping, and reviewing additional reading on tuning MySQL, PostgreSQL and Zabbix internals.
Walter Heck presented on running Zabbix monitoring over the internet for small and medium businesses. Some key challenges included operating with an active-only setup through a single firewall port, developing templates without direct access to customer systems, and worldwide alerting via SMS. The backend used a single Zabbix server with Drupal and MySQL on a dedicated server hosted at Hetzner. Future plans included simplified installation packages and expanding alert methods.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfTechgropse Pvt.Ltd.
In this blog post, we'll delve into the intersection of AI and app development in Saudi Arabia, focusing on the food delivery sector. We'll explore how AI is revolutionizing the way Saudi consumers order food, how restaurants manage their operations, and how delivery partners navigate the bustling streets of cities like Riyadh, Jeddah, and Dammam. Through real-world case studies, we'll showcase how leading Saudi food delivery apps are leveraging AI to redefine convenience, personalization, and efficiency.
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Zabbix Console
1. September 31, 2011
Introduction API Zabcon Conclusion
The Zabbix API
and
Zabcon
“The Zabbix Console”
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
2. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Your presenter
Andrew Nelson
●RHCE, Zabbix Certified Specialist
●Active in the Zabbix community for
approximately 7 years
●Nelsonab in the Zabbix forums.
●Creator of Zabcon, the Zabbix
console.
http://trac.red-tux.net
●Red Hat Consultant
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
3. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
●Introduced in Zabbix 1.8.0
●Based on JSON-RPC v 2.0 over HTTP
●Not RESTful
●Provides a somewhat raw interface to the internal data structures
●API calls are made to the Frontend, not the Zabbix server process
●API calls mimic Frontend activities
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
4. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
Sounds interesting what do I need to know?
●URL used to access the api:
<Server URL>/api_jsonrpc.php
Example:
http://myserver.example.com/zabbix/api_jsonrpc.php
●A valid Zabbix user is required for all API calls
● Often referred to as the “API User”
● Must be a member of a User group which has the API Access permission
enabled
● API Users are Zabbix users with the ability to perform API calls
●The latest documentation is online:
http://www.zabbix.com/documentation/1.8/api
●The forum is a great resource.
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
5. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
My API User is configured, now what?
Use of a Zabbix API library can make things easier
●
● Not required, the brave use Curl and Wget.
●API calls are divided into namespaces
● Namespace.call
● user.get, host.get etc
●Every API function requires a valid session ID.
● Except user.login, which is used to generate the session ID.
●Basic API Call/Layout:
{
"jsonrpc":"2.0",
"method":”Function”,
"params":{ “Name”:”Value” },
"auth":”SessionID”,
"id":<Incrementing Number>
}
●Order is not important, content is
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
6. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
Show me the data! (Login)
The next few slides will show the steps needed to show all of the hosts on a
system.
The login:
{
"auth":null,"method":"user.login",
"id":0,"jsonrpc":"2.0",
"params":{"password":"apitest","user":"apitest"}
}
Result:
{
"jsonrpc":"2.0",
"result":"ef1118f0c916f8c49d10913c31ba804c",
"id":0
}
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
7. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
Show me the data! (host.get)
The call:
{
"auth":"ef1118f0c916f8c49d10913c31ba804c",
"method":"host.get","id":3,
"params":{},"jsonrpc":"2.0"
}
Result:
{
"jsonrpc":"2.0",
"result":
[{"hostid":"10047"},{"hostid":"10064"},
{"hostid":"10067"}],
"id":3
}
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
8. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
Wait, is that all I get from host.get?
Let's try again with the parameter “extend output”
{
"auth":"ef1118f0c916f8c49d10913c31ba804c","id":4,
"method":"host.get", "params":{"output":"extend"},
"jsonrpc":"2.0"
}
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
9. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Background | Introduction | Example
Holy data Batman, that's a lot!
Result:
{"jsonrpc":"2.0",
"result":
[{"maintenances":[{"maintenanceid":"0"}],
"hostid":"10047","proxy_hostid":"0","host":"test","dns":"",
"useip":"1","ip":"127.0.0.1","port":"10050","status":"0",
"disable_until":"0","error":"","available":"0",
"errors_from":"0","lastaccess":"0","inbytes":"0","outbytes":"0",
"useipmi":"0","ipmi_port":"623","ipmi_authtype":"-1",
"ipmi_privilege":"2","ipmi_username":"","ipmi_password":"",
"ipmi_disable_until":"0","ipmi_available":"0",
"snmp_disable_until":"0","snmp_available":"0",
"maintenanceid":"0","maintenance_status":"0",
"maintenance_type":"0","maintenance_from":"0","ipmi_ip":"",
"ipmi_errors_from":"0","snmp_errors_from":"0","ipmi_error":"",
"snmp_error":""},
{ Truncated Data for Host 2"}, {Truncated Data for Host3}],
"id":4}
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
10. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Is there an easier way?
●Zabcon is intended to be the “Zabbix Console”
● Started in late 2009
● Latest version 0.0.332 (released today!)
●Website: http://trac.red-tux.net
●Written in Ruby
● Requires at least 1.8.6
● No major issues with 1.9.x, please report them when you find them
●Can accept commands from standard input
● One person used Zabcon inside a script to import data into Zabbix, using this
approach they were able to import about 1,000 hots in a matter of minutes.
●Users can create their own custom Zabcon commands
●Easiest way to install is from Rubygems
# gem install zabcon
● Installation and update of dependencies is managed by Rubygems.
● Some dependencies may require a compiler and the Ruby development
libraries
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
11. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Let's see that get host example with Zabcon
$ zabcon.rb
Unable to find a default configuration file
i386-linux
Welcome to Zabcon. Build Number: 326
Use the command 'help' to get help on commands
-> login http://192.168.166.10 apitest apitest
http://192.168.166.10 connected
API Version: 1.3
+> get host
Host result set
+--------+----------+-----+-----------+
| hostid | host | dns | ip |
+--------+----------+-----+-----------+
| 10047 | test | | 127.0.0.1 |
| 10064 | Lua 2 | | 0.0.0.0 |
| 10067 | new test | | 127.0.0.1 |
+--------+----------+-----+-----------+
3 rows total
+>
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
12. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
That's nice do I really need to log in every time?
●Zabcon can load host and user information from a configuration file
●Default behavior is to load the config file upon startup
● ./zabcon.conf and ~/zabcon.conf are searched in that order
● Sample config file: zabcon.conf.default can be found in your system's
Rubygems directory
$ gem which zabcon
/usr/lib/ruby/gems/1.8/gems/zabcon-0.0.332/./zabcon.rb
● Using the above information the sample config file would be found at :
/usr/lib/ruby/gems/1.8/gems/zabcon-0.0.332/zabcon.conf.default
● Example:
server=http://192.168.166.10/
username=apitest
password=apitest
#debug=0
#truncate_length=5000
#custom_commands=sample_custom_commands
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
13. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Let's try that again, with more information:
$ zabcon.rb
i386-linux
Found valid login credentials, attempting login
http://192.168.166.10 connected
API Version: 1.3
Welcome to Zabcon. Build Number: 326
Use the command 'help' to get help on commands
+> get host show=hostid,host,dns,ip,available,status
Host result set
+--------+----------+-----+-----------+-----------+--------+
| hostid | host | dns | ip | available | status |
+--------+----------+-----+-----------+-----------+--------+
| 10047 | test | | 127.0.0.1 | 0 | 0 |
| 10064 | Lua 2 | | 0.0.0.0 | 0 | 0 |
| 10067 | new test | | 127.0.0.1 | 0 | 0 |
+--------+----------+-----+-----------+-----------+--------+
3 rows total
+>
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
14. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Ok that's cool but what if I want to disable a host from a script?
$ echo "get host show=hostid,host,dns,ip,status" | zabcon.rb
hostid,host,dns,ip,status
10047,test,,127.0.0.1,0
10064,Lua 2,,0.0.0.0,0
10067,new test,,127.0.0.1,0
$ echo "update host hostid=10047 status=1" | zabcon.rb
$ echo "get host show=hostid,host,dns,ip,status" | zabcon.rb
hostid,host,dns,ip,status
10047,test,,127.0.0.1,1
10064,Lua 2,,0.0.0.0,0
10067,new test,,127.0.0.1,0
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
15. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Accessing the API directly
●Right now, Zabcon does not have a command for every possible API call.
●“raw api” allows direct access to the api.
+> raw api history.get itemids=[22163] time_from=1317367232
time_to=1317367262 output=extend
Raw_api result set
+------------+--------+------------+
| clock | itemid | value |
+------------+--------+------------+
| 1317367283 | 22163 | 1317367283 |
| 1317367343 | 22163 | 1317367343 |
...
| 1317367943 | 22163 | 1317367943 |
| 1317368003 | 22163 | 1317368003 |
+------------+--------+------------+
13 rows total
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
16. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Custom commands
●End users can create their own Zabcon commands to suit their own unique needs
●The command “help commands” will be updated with the new commands
●Zabcon.conf file determines the location of the custom commands file
●Custom commands file is only parsed on Zabcon startup.
ZabconCommand.add_command "custom" do
set_method do |params| +> custom
server.connection.raw_api("user.get",{}) result set
end +--------+
set_help_tag :none | userid |
set_flag :print_output +--------+
end | 1 |
| 2 |
+--------+
2 rows total
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
17. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Introduction | Example | Simplifying things | More examples | Advanced
Custom commands
●End users can create their own Zabcon commands to suit their own unique needs
●The command “help commands” will be updated with the new commands
●Zabcon.conf file determines the location of the custom commands file
●Custom commands file is only parsed on Zabcon startup.
ZabconCommand.add_command "custom" do
set_method do |params| +> custom
server.connection.raw_api("user.get",{}) result set
end +--------+
set_help_tag :none | userid |
set_flag :print_output +--------+
end | 1 |
| 2 |
+--------+
2 rows total
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net
18. API & Zabcon September 31, 2011
Introduction API Zabcon Conclusion
Recap
Time for me to stop talking
●API is JSON-RPC based
● Allows for a nearly complete interface for modifying Zabbix
●API calls are made to the Web fronend
●Zabcon allows you to easilly call the Zabbix API form the command line or scripts
● Help from more developers and testers is always appreciated (hint hint)
Website:
http://trac.red-tux.net
Email:
nelsonab@red-tux.net
anelson@redhat.com
Copyright 2011 Andrew Nelson, nelsonab@red-tux.net