add opcache

This commit is contained in:
jean-yves.fournier 2022-01-05 15:44:39 +01:00
parent a5db641142
commit 14baee3d40
7 changed files with 85 additions and 0 deletions

View File

@ -15,6 +15,8 @@ prometheus_mongodb_exporter_port: 27017
prometheus_phpfpm_sockets_directory: "/run/php/" prometheus_phpfpm_sockets_directory: "/run/php/"
prometheus_phpfpm_sockets_directory_additional: "/var/run/php*.sock" prometheus_phpfpm_sockets_directory_additional: "/var/run/php*.sock"
prometheus_php-opcache_exporter_fcgi-uri: "unix:///var/run/php-000-default.sock"
prometheus_postgres_exporter_systemd_user: "postgres" prometheus_postgres_exporter_systemd_user: "postgres"
prometheus_postgres_exporter_host: "/var/run/postgresql/" prometheus_postgres_exporter_host: "/var/run/postgresql/"
prometheus_postgres_exporter_sslmode: "disable" prometheus_postgres_exporter_sslmode: "disable"

View File

@ -40,6 +40,13 @@
enabled: yes enabled: yes
tags: ['prometheus'] tags: ['prometheus']
- name: 'prometheus | php-opcache exporter | restart service'
systemd:
name: prometheus-php-opcache-exporter.service
state: restarted
enabled: yes
tags: ['prometheus']
- name: 'prometheus | apache exporter | restart service' - name: 'prometheus | apache exporter | restart service'
systemd: systemd:
name: prometheus-apache-exporter.service name: prometheus-apache-exporter.service

View File

@ -35,6 +35,11 @@
when: when:
- "'phpfpm' in prometheus_exporter_packages" - "'phpfpm' in prometheus_exporter_packages"
- name: 'prometheus | PHP opcache exporter'
include_tasks: 'php-opcache_exporter.yml'
when:
- "'php-opcache' in prometheus_exporter_packages"
- name: 'prometheus | Apache exporter' - name: 'prometheus | Apache exporter'
include_tasks: 'apache_exporter.yml' include_tasks: 'apache_exporter.yml'
when: when:

View File

@ -0,0 +1,44 @@
---
- name: 'prometheus | php-opcache exporter | get latest release from GitHub'
shell: curl --silent "https://api.github.com/repos/MyOnlineStore/opcache-exporter/releases/latest" | jq -r .tag_name | sed "s/v//"
args:
warn: false
register: prometheus_php-opcache_exporter_latest_version
run_once: true
- name: 'prometheus | php-opcache exporter | download'
get_url:
url: https://github.com/MyOnlineStore/opcache-exporter/releases/download/v{{ prometheus_php-opcache_exporter_version|default(prometheus_php-opcache_exporter_latest_version.stdout) }}/opcache_exporter-{{ prometheus_php-opcache_exporter_version|default(prometheus_php-opcache_exporter_latest_version.stdout) }}-linux-amd64
dest: /tmp
- name: 'prometheus | php-opcache exporter | move to /usr/local/bin'
copy:
src: /tmp/opcache_exporter-{{ prometheus_php-opcache_exporter_version|default(prometheus_php-opcache_exporter_latest_version.stdout) }}-linux-amd64
dest: /usr/local/bin/prometheus-php-opcache-exporter
remote_src: yes
owner: root
group: root
mode: 0755
- name: 'prometheus | php-opcache exporter | configuration'
template:
src: conf/prometheus-php-opcache-exporter.j2
dest: /etc/default/prometheus-php-opcache-exporter
owner: root
group: root
mode: 0600
register: prometheus_php-opcache_exporter_configuration
- name: 'prometheus | php-opcache exporter | install unit file to systemd'
template:
src: systemd/prometheus-php-opcache-exporter.service.j2
dest: /etc/systemd/system/prometheus-php-opcache-exporter.service
owner: root
group: root
mode: 0600
- name: 'prometheus | php-opcache exporter | configure systemd to use service'
systemd:
daemon_reload: yes
enabled: yes
name: prometheus-php-opcache-exporter.service

View File

@ -0,0 +1,4 @@
# {{ ansible_managed }}
{% if (prometheus_php-opcache_exporter_fcgi-uri is defined) %}
ARGS='"--opcache.fcgi-uri="{{ prometheus_php-opcache_exporter_fcgi-uri }}"'
{% endif %}

View File

@ -124,6 +124,18 @@ scrape_configs:
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if prometheus_php-opcache_exporter_targets is defined %}
# PHP-FPM exporter #
- job_name: php-opcache
scrape_interval: 30s
scrape_timeout: 10s
static_configs:
- targets:
{% for target in prometheus_php-opcache_exporter_targets %}
- {{ target }}:9101
{% endfor %}
{% endif %}
{% if prometheus_apache_exporter_targets is defined %} {% if prometheus_apache_exporter_targets is defined %}
# apache exporter # # apache exporter #
- job_name: apache - job_name: apache

View File

@ -0,0 +1,11 @@
[Unit]
Description=Prometheus PHP Opcache Exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/prometheus-php-opcache-exporter
EnvironmentFile=/etc/default/prometheus-php-opcache-exporter
[Install]
WantedBy=multi-user.target