Editing Prometheus
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | [[wikipedia:Prometheus (software)|Prometheus]] is an open-source systems [[monitoring]] and | + | [[wikipedia:Prometheus (software)|Prometheus]] is an open-source systems [[monitoring]] and alerting toolkit<ref>https://prometheus.io/docs/introduction/overview/</ref> released in [[2012]]. Prometheus design is focused to collect and process metrics, not as an event logging system for logs.<ref>https://prometheus.io/docs/introduction/faq/#how-to-feed-logs-into-prometheus?</ref>. [[Grafana]] is usually used to produce dashboards. |
− | |||
− | |||
− | |||
− | |||
− | [[ | + | ==Install Prometheus== |
− | * <code>[[ | + | * Linux: |
− | * <code>[[ | + | ** [[How To Install Prometheus in Linux]] |
+ | |||
+ | * [[macOS]]: | ||
+ | ** <code>[[brew]] install prometheus && brew services start prometheus</code> | ||
+ | ** <code>brew install [[node_exporter]]</code>. Connect to: http://localhost:9101/metrics | ||
+ | |||
+ | * Using Docker containers: | ||
+ | ** <code>docker pull prom/prometheus && docker run -p 9090:9090 prom/prometheus</code><ref>https://prometheus.io/docs/prometheus/latest/installation/</ref> and connect to http://localhost:9090/ | ||
+ | ** <code>docker pull prom/[[node-exporter]]</code> although it's not recommended to deploy it as a Docker container because it requires access to the host system<ref>https://github.com/prometheus/node_exporter</ref> | ||
== Configuration files == | == Configuration files == | ||
− | * Linux: <code> | + | * Linux: <code>/etc/prometheus/prometheus.yml</code> |
− | * macOS: <code> | + | * macOS: <code>/usr/local/etc/prometheus.args </code> |
− | |||
== Binaries == | == Binaries == | ||
* <code>[[prometheus]]</code> | * <code>[[prometheus]]</code> | ||
* <code>[[promtool]]</code> | * <code>[[promtool]]</code> | ||
− | |||
− | == | + | ==Configuring Prometheus== |
− | |||
− | |||
− | |||
− | + | * In the /etc/prometheus directory, use nano or your favorite text editor to create a configuration file named prometheus.yml. For now, this file will contain just enough information to run Prometheus for the first time. | |
+ | |||
+ | :<code>sudo nano /etc/prometheus/[[prometheus.yml]]</code> | ||
− | |||
* In the '''global''' settings, define the default interval for scraping metrics. Note that Prometheus will apply these settings to every exporter unless an individual exporter's own settings override the global. | * In the '''global''' settings, define the default interval for scraping metrics. Note that Prometheus will apply these settings to every exporter unless an individual exporter's own settings override the global. | ||
− | |||
− | * Prometheus uses the '''job_name''' to label exporters in queries and on graphs, so be sure to pick something descriptive here. And, as Prometheus exports important data about itself that you can use for monitoring performance and debugging, we've overridden the global '''scrape_interval''' directive from 15 seconds to 5 seconds for more frequent updates. Lastly, Prometheus uses the '''static_configs''' and '''targets''' directives to determine where exporters are running. Since this particular exporter is running on the same server as Prometheus itself, we can use localhost instead of an IP address along with the default port, ''' | + | * This '''scrape_interval''' value tells Prometheus to collect metrics from its exporters every 15 seconds, which is long enough for most exporters. Now, add Prometheus itself to the list of exporters to scrape from with the following s'''crape_configs''' directive: |
+ | |||
+ | |||
+ | * Prometheus uses the '''job_name''' to label exporters in queries and on graphs, so be sure to pick something descriptive here. And, as Prometheus exports important data about itself that you can use for monitoring performance and debugging, we've overridden the global '''scrape_interval''' directive from 15 seconds to 5 seconds for more frequent updates. Lastly, Prometheus uses the '''static_configs''' and '''targets''' directives to determine where exporters are running. Since this particular exporter is running on the same server as Prometheus itself, we can use localhost instead of an IP address along with the default port, '''9090'''. | ||
Line 49: | Line 51: | ||
</pre> | </pre> | ||
− | == | + | ==Basic Prometheus Operations== |
− | * '''Start''' Prometheus: :<code> | + | * '''Start''' Prometheus: :<code>sudo systemctl start prometheus</code> |
− | * '''Reload''' systemd: :<code> | + | * '''Reload''' systemd: :<code>sudo systemctl daemon-reload prometheus</code> |
− | * '''Verify''' the service's status: :<code>sudo | + | * '''Verify''' the service's status: :<code>sudo systemctl status prometheus</code> |
− | |||
− | |||
− | |||
− | |||
− | |||
==Activities== | ==Activities== | ||
Line 63: | Line 60: | ||
# Read [[Prometheus changelog]]: https://github.com/prometheus/prometheus/blob/master/CHANGELOG.md | # Read [[Prometheus changelog]]: https://github.com/prometheus/prometheus/blob/master/CHANGELOG.md | ||
# Read Stackoverflow prometheus questions: https://stackoverflow.com/questions/tagged/prometheus?tab=Frequent | # Read Stackoverflow prometheus questions: https://stackoverflow.com/questions/tagged/prometheus?tab=Frequent | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == See also == | + | ==See also== |
− | |||
* {{Prometheus}} | * {{Prometheus}} | ||
+ | * {{Grafana}} | ||
* {{monitoring software}} | * {{monitoring software}} | ||
− | * | + | * [[Prometheus alertmanager]] with support for email, [[PagerDuty]] or [[OpsGenie]] |
+ | |||
+ | [[Category:Information technology]] | ||
+ | [[Category:Server administration]] | ||
[[Category:Monitoring]] | [[Category:Monitoring]] | ||
[[Category:Prometheus]] | [[Category:Prometheus]] | ||
− | + | ||
{{CC license}} | {{CC license}} | ||
Source: https://en.wikiversity.org/wiki/Prometheus_monitoring | Source: https://en.wikiversity.org/wiki/Prometheus_monitoring |
Advertising: