Giter VIP home page Giter VIP logo

icinga2-formula's Introduction

icinga2-formula

Travis CI Build Status Semantic Release

A salt formula that installs and configures icinga2, currently on Debian and Ubuntu only, but other installation source can be easily added. Configuration via pillar currently for hosts and services only.

Suggestions, pull-requests, bug reports and comments are welcome.

See the full SaltStack Formulas installation and usage instructions.

If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.

If you want to use this formula, please pay attention to the FORMULA file and/or git tag, which contains the currently released version. This formula is versioned according to Semantic Versioning.

See Formula Versioning Section for more details.

If you need (non-default) configuration, please pay attention to the pillar.example file and/or Special notes section.

Commit message formatting is significant!!

Please see How to contribute for more details.

None

Installs and configures the icinga2 package. Includes icinga.repositories.

Includes:

  • icinga2.icinga-web2-core
  • icinga2.icinga-web2-database
  • icinga2.pgsql-ido
  • icinga2.postgresql-client
  • icinga2.postgresql-server

Installs and configures the nrpe-server to perform checks on non-local hosts.

Creates the DB user and the DB itself. (Makes only sense if the DB shall run on the same host as Icinga2)

Installs the (new) Icinga Web UI.

Installs and configures icinga2-ido-pgsql. You may want to add icinga2.postgresql-client

Installs PostgreSQL client.

Installs PostgreSQL server.

Adds the Debian / Ubuntu repository to get Icinga2 packages from if (and only if) the machine happens to run one of the mentioned operating systems.

Sets up CheckCommand openvpn using <https://github.com/liquidat/nagios-icinga-openvpn>.

Sets up notification via XMPP using slixmpp.

Linux testing is done with kitchen-salt.

  • Ruby
  • Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.yml, e.g. debian-9-2019-2-py3.

Creates the docker instance and runs the template main state, ready for testing.

Runs the inspec tests on the actual instance.

Removes the docker instance.

Runs all of the stages above in one go: i.e. destroy + converge + verify + destroy.

Gives you SSH access to the instance for manual testing.

icinga2-formula's People

Contributors

abednarik avatar aboe76 avatar alxwr avatar baby-gnu avatar dafyddj avatar kislik avatar kiwi-chris avatar martinhoefling avatar myii avatar nmadhok avatar noelmcloughlin avatar puneetk avatar semantic-release-bot avatar thingsplode avatar tigpas avatar whiteinge avatar wwentland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

icinga2-formula's Issues

Add functionality to automatically configure Icinga2 clients

Proposed Changes

I would like to add the following functionality:

This would furthermore need the following changes regarding the directory structure of the formula:

  • Move the current configuration for the icinga2 master in a state called icinga2.master.
  • Add the aforementioned configuration for the icinga2 client to a state called icinga2.client.
  • Check for files that can be used for both states and place them accordingly.

If this enhancement is favored, I can contribute via a pull request. Moreover it would be interesting to see who is currently active and responsible for this repository.

The other possibility would be to create a new repository in the group saltstack-formulas with only functionality for configuring and adding clients (e.g. icinga2-client-formula).

Thanks.

Possibility to use with Distributed Monitoring HA Master-Agent Setup

Hey Community,
i have studied the icinga2 formula and i see that there always the use of the default config folder "/etc/icinga2/conf.d".
So for our company we set up a distributed monitoring with HA Icinga2 Master with Agents like described in the official docs here:
https://icinga.com/docs/icinga-2/latest/doc/06-distributed-monitoring/#high-availability-master-with-agents

After finding static entries of default conf.d path i see for now no possibility to use this formula for our distributed monitoring setup.
static entries of conf.d in config.sls line 79:
{%- set path = "{}/conf.d/hosts/{}".format(icinga2.config_dir, host) %}

So for now i can't see that it is possible to use the formula for described setup right?
Am i right so far?

Thanks for help. :)
Best regards,
Darkentik

CentOS Installation

Hi,
why is it not possible to run the Installation with CentOS or Redhat?
Is there a way to run the pkg installation with CentOS or Redhat? Not only debian and Ubuntu?

Thanks

Not an issue, a proposal

@martinhoefling @puneetk
First of all: Thank you for sharing your code and time!

I'd like to get this formula to work with current Icinga2 on FreeBSD and Ubuntu 16.04. There seem to be many useful commits floating around on GitHub but no PRs. Instead of creating another standalone fork I'd rather work through the Issue list, fix the bugs and place my work on top of that. (So much thought went into this piece of software, work should be continued.)

What I plan on doing:

Questions I have:

  • Am I welcome to do that?
  • @martinhoefling is there a (technical) reason you stopped merging your ongoing development back into this formula?

Greetings
Alex

[Question] What is the goal of this formula? Why including other states like postgresql here?

Hey,
i wonder why here are included more than icinga2 states such like postgresql, that have their own formula.
I think this is not a good idea.
According to my other question about HA setup with satellites and more, i think that it would be better to focus on icinga2 components only.
Maybe we could split icingaweb2 as own state into its own formula.
In our company we follow a service splitting concept so we have our icinga stack with icinga master, icingaweb2, mariadb server, grafana and influxdb all on separate virtuell machines on each location.

I am interested in hearing your opinions.

Best regards,
Darkentik

icinga2.nrpe-server

Hi,

have you ever tested the nrpe-server part "standalone" ? ;)

    Data failed to compile:
----------
    Rendering SLS "base:icinga2.nrpe-server" failed: Jinja variable 'dict object' has no attribute 'defaults'; line 14

---
[...]
      - file: /etc/default/nagios-nrpe-server

/etc/default/nagios-nrpe-server:
  file.managed:
    - contents: |
{%- for key, value in icinga2.nrpe.defaults.iteritems() %}    <======================
        {{ key }}={{ value }}
{%- endfor %}

/etc/nagios/nrpe_local.cfg:
  file.managed:
[...]

---

and the repository is only included into the main init.sls...
=> should be moved to e.g. repository.sls and then with

include:
  - .repository

added to the monitoring client + server each.

Bests

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.