aboutsummaryrefslogtreecommitdiffstats
path: root/config/zabbix2
diff options
context:
space:
mode:
Diffstat (limited to 'config/zabbix2')
-rw-r--r--config/zabbix2/zabbix2-agent.inc110
1 files changed, 10 insertions, 100 deletions
diff --git a/config/zabbix2/zabbix2-agent.inc b/config/zabbix2/zabbix2-agent.inc
index 9b5f3ed3..4aa0d5f7 100644
--- a/config/zabbix2/zabbix2-agent.inc
+++ b/config/zabbix2/zabbix2-agent.inc
@@ -1,6 +1,6 @@
<?php
/*
- zabbix2.inc
+ zabbix2-agent.inc
part of pfSense (https://www.pfSense.org/)
Copyright (C) 2013 Danilo G. Baio
Copyright (C) 2013 Marcello Coutinho
@@ -77,50 +77,7 @@ function php_deinstall_zabbix2_agent() {
}
}
-function php_deinstall_zabbix2_proxy() {
- global $config, $g;
-
- $pfs_version = php_zabbix2_pfs_version();
- $zabbix2_pkg_base = php_zabbix2_pkg_base($pfs_version);
-
- if ($pfs_version == "2.1" || $pfs_version == "2.2") {
- define('ZABBIX_PROXY_BASE', '/usr/pbi/' . $zabbix2_pkg_base . '-proxy-' . php_uname("m"));
- } else {
- define('ZABBIX_PROXY_BASE', '/usr/local');
- }
-
- exec("/usr/bin/killall zabbix_proxy");
- unlink_if_exists(ZABBIX_PROXY_BASE . "/etc/" . $zabbix2_pkg_base . "/zabbix_proxy.conf");
- unlink_if_exists("/var/log/zabbix2/zabbix_proxy.log");
- unlink_if_exists("/var/run/zabbix2/zabbix2_proxy.pid");
-
- if (!is_array($config['installedpackages']['zabbixagent'])) {
- if (is_dir("/var/log/zabbix2")) {
- exec("/bin/rm -r /var/log/zabbix2/");
- }
- if (is_dir("/var/run/zabbix2")) {
- exec("/bin/rm -r /var/run/zabbix2/");
- }
- }
-
- if (is_dir("/var/db/zabbix2")) {
- exec("/bin/rm -r /var/db/zabbix2/");
- }
-}
-
-function validate_input_zabbix2($post, &$input_errors) {
- if (isset($post['proxyenabled'])) {
- if (!is_numericint($post['serverport'])) {
- $input_errors[] = "'Server Port' value is not numeric.";
- } elseif ($post['serverport'] < 1 || $post['serverport'] > 65535) {
- $input_errors[] = "You must enter a valid value for 'Server Port'.";
- }
-
- if (!is_numericint($post['configfrequency'])) {
- $input_errors[] = "'Config Frequency' value is not numeric.";
- }
- }
-
+function validate_input_zabbix2_agent($post, &$input_errors) {
if (isset($post['agentenabled'])) {
if (!preg_match("/\w+/", $post['server'])) {
$input_errors[] = "Server field is required.";
@@ -186,7 +143,7 @@ function validate_input_zabbix2($post, &$input_errors) {
}
}
-function sync_package_zabbix2() {
+function sync_package_zabbix2_agent() {
global $config, $g;
conf_mount_rw();
@@ -195,38 +152,10 @@ function sync_package_zabbix2() {
if ($pfs_version == "2.1" || $pfs_version == "2.2") {
define('ZABBIX_AGENT_BASE', '/usr/pbi/' . $zabbix2_pkg_base . '-agent-' . php_uname("m"));
- define('ZABBIX_PROXY_BASE', '/usr/pbi/' . $zabbix2_pkg_base . '-proxy-' . php_uname("m"));
} else {
define('ZABBIX_AGENT_BASE', '/usr/local');
- define('ZABBIX_PROXY_BASE', '/usr/local');
}
- // Check zabbix proxy config
- if (is_array($config['installedpackages']['zabbixproxy'])) {
- $zbproxy_config = $config['installedpackages']['zabbixproxy']['config'][0];
- if ($zbproxy_config['proxyenabled'] == "on") {
- $Mode = (is_numericint($zbproxy_config['proxymode']) ? $zbproxy_config['proxymode'] : 0);
- $AdvancedParams = base64_decode($zbproxy_config['advancedparams']);
-
- $zbproxy_conf_file = <<< EOF
-Server={$zbproxy_config['server']}
-ServerPort={$zbproxy_config['serverport']}
-Hostname={$zbproxy_config['hostname']}
-PidFile=/var/run/zabbix2/zabbix2_proxy.pid
-DBName=/var/db/zabbix2/proxy.db
-LogFile=/var/log/zabbix2/zabbix_proxy.log
-ConfigFrequency={$zbproxy_config['configfrequency']}
-FpingLocation=/usr/local/sbin/fping
-# There's currently no fping6 (IPv6) dependency in the package,
-# but if there was, the binary would likely also be in /usr/local/sbin.
-Fping6Location=/usr/local/sbin/fping6
-ProxyMode={$Mode}
-{$AdvancedParams}
-
-EOF;
- file_put_contents(ZABBIX_PROXY_BASE . "/etc/" . $zabbix2_pkg_base . "/zabbix_proxy.conf", strtr($zbproxy_conf_file, array("\r" => "")));
- }
- }
// Check zabbix agent settings
if (is_array($config['installedpackages']['zabbixagent'])) {
$zbagent_config = $config['installedpackages']['zabbixagent']['config'][0];
@@ -310,8 +239,8 @@ EOF;
// Check startup script files
// Create a few directories and ensure the sample files are in place
- if (!is_dir(ZABBIX_PROXY_BASE . "/etc/" . $zabbix2_pkg_base)) {
- mwexec("/bin/mkdir -p " . ZABBIX_PROXY_BASE . "/etc/" . $zabbix2_pkg_base);
+ if (!is_dir(ZABBIX_AGENT_BASE . "/etc/" . $zabbix2_pkg_base)) {
+ mwexec("/bin/mkdir -p " . ZABBIX_AGENT_BASE . "/etc/" . $zabbix2_pkg_base);
}
$dir_checks = <<< EOF
@@ -336,29 +265,6 @@ EOF;
EOF;
- $zproxy_rcfile = "/usr/local/etc/rc.d/zabbix2_proxy.sh";
- if (is_array($zbproxy_config) && $zbproxy_config['proxyenabled'] == "on") {
- $zproxy_start = strtr($dir_checks, array("\r" => "")). "\necho \"Starting Zabbix Proxy\"...\n";
- $zproxy_start .= ZABBIX_PROXY_BASE . "/sbin/zabbix_proxy\n";
-
- $zproxy_stop = "echo \"Stopping Zabbix Proxy\"\n";
- $zproxy_stop .= "/usr/bin/killall zabbix_proxy\n";
- $zproxy_stop .= "/bin/sleep 5\n";
-
- write_rcfile(array(
- "file" => "zabbix2_proxy.sh",
- "start" => $zproxy_start,
- "stop" => $zproxy_stop
- )
- );
- restart_service("zabbix_proxy");
- } else {
- if (is_service_running("zabbix_proxy")) {
- stop_service("zabbix_proxy");
- }
- unlink_if_exists($zproxy_rcfile);
- }
-
$zagent_rcfile="/usr/local/etc/rc.d/zabbix2_agentd.sh";
if (is_array($zbagent_config) && $zbagent_config['agentenabled']=="on") {
$zagent_start .= strtr($dir_checks, array("\r" => "")). "\necho \"Starting Zabbix Agent...\"\n";
@@ -374,7 +280,11 @@ EOF;
"stop" => $zagent_stop
)
);
- restart_service("zabbix_agentd");
+ if (is_service_running("zabbix_agentd")) {
+ restart_service("zabbix_agentd");
+ } else {
+ start_service("zabbix_agentd");
+ }
} else {
if (is_service_running("zabbix_agentd")) {
stop_service("zabbix_agentd");