commit
91db1c8aec
@ -156,6 +156,40 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
|
|||||||
Support for built-in LCDs in various pieces of Logitech hardware (keyboards and USB speakers). <varname>hardware.logitech.lcd.enable</varname> enables support for all hardware supported by the g15daemon project.
|
Support for built-in LCDs in various pieces of Logitech hardware (keyboards and USB speakers). <varname>hardware.logitech.lcd.enable</varname> enables support for all hardware supported by the g15daemon project.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Zabbix now defaults to 5.0, updated from 4.4. Please carefully read through
|
||||||
|
<link xlink:href="https://www.zabbix.com/documentation/current/manual/installation/upgrade/sources">the upgrade guide</link>
|
||||||
|
and apply any changes required. Be sure to take special note of the section on
|
||||||
|
<link xlink:href="https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500#enabling_extended_range_of_numeric_float_values">enabling extended range of numeric (float) values</link>
|
||||||
|
as you will need to apply this database migration manually.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
If you are using Zabbix Server with a MySQL or MariaDB database you should note that using a character set of <literal>utf8</literal> and a collate of <literal>utf8_bin</literal> has become mandatory with
|
||||||
|
this release. See the upstream <link xlink:href="https://support.zabbix.com/browse/ZBX-17357">issue</link> for further discussion. Before upgrading you should check the character set and collation used by
|
||||||
|
your database and ensure they are correct:
|
||||||
|
<programlisting>
|
||||||
|
SELECT
|
||||||
|
default_character_set_name,
|
||||||
|
default_collation_name
|
||||||
|
FROM
|
||||||
|
information_schema.schemata
|
||||||
|
WHERE
|
||||||
|
schema_name = 'zabbix';
|
||||||
|
</programlisting>
|
||||||
|
If these values are not correct you should take a backup of your database and convert the character set and collation as required. Here is an
|
||||||
|
<link xlink:href="https://www.zabbix.com/forum/zabbix-help/396573-reinstall-after-upgrade?p=396891#post396891">example</link> of how to do so, taken from
|
||||||
|
the Zabbix forums:
|
||||||
|
<programlisting>
|
||||||
|
ALTER DATABASE `zabbix` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
|
-- the following will produce a list of SQL commands you should subsequently execute
|
||||||
|
SELECT CONCAT("ALTER TABLE ", TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") AS ExecuteTheString
|
||||||
|
FROM information_schema.`COLUMNS`
|
||||||
|
WHERE table_schema = "zabbix" AND COLLATION_NAME = "utf8_general_ci";
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ let
|
|||||||
pgsql = config.services.postgresql;
|
pgsql = config.services.postgresql;
|
||||||
mysql = config.services.mysql;
|
mysql = config.services.mysql;
|
||||||
|
|
||||||
inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
|
inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption;
|
||||||
inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
|
inherit (lib) attrValues concatMapStringsSep getName literalExample optional optionalAttrs optionalString types;
|
||||||
inherit (lib.generators) toKeyValue;
|
inherit (lib.generators) toKeyValue;
|
||||||
|
|
||||||
user = "zabbix";
|
user = "zabbix";
|
||||||
@ -232,14 +232,15 @@ in
|
|||||||
services.mysql = optionalAttrs mysqlLocal {
|
services.mysql = optionalAttrs mysqlLocal {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mkDefault pkgs.mariadb;
|
package = mkDefault pkgs.mariadb;
|
||||||
ensureDatabases = [ cfg.database.name ];
|
|
||||||
ensureUsers = [
|
|
||||||
{ name = cfg.database.user;
|
|
||||||
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal ''
|
||||||
|
( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;"
|
||||||
|
echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};"
|
||||||
|
echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';"
|
||||||
|
) | ${config.services.mysql.package}/bin/mysql -N
|
||||||
|
'');
|
||||||
|
|
||||||
services.postgresql = optionalAttrs pgsqlLocal {
|
services.postgresql = optionalAttrs pgsqlLocal {
|
||||||
enable = true;
|
enable = true;
|
||||||
ensureDatabases = [ cfg.database.name ];
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
@ -5,8 +5,8 @@ let
|
|||||||
pgsql = config.services.postgresql;
|
pgsql = config.services.postgresql;
|
||||||
mysql = config.services.mysql;
|
mysql = config.services.mysql;
|
||||||
|
|
||||||
inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
|
inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption;
|
||||||
inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
|
inherit (lib) attrValues concatMapStringsSep getName literalExample optional optionalAttrs optionalString types;
|
||||||
inherit (lib.generators) toKeyValue;
|
inherit (lib.generators) toKeyValue;
|
||||||
|
|
||||||
user = "zabbix";
|
user = "zabbix";
|
||||||
@ -220,14 +220,15 @@ in
|
|||||||
services.mysql = optionalAttrs mysqlLocal {
|
services.mysql = optionalAttrs mysqlLocal {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mkDefault pkgs.mariadb;
|
package = mkDefault pkgs.mariadb;
|
||||||
ensureDatabases = [ cfg.database.name ];
|
|
||||||
ensureUsers = [
|
|
||||||
{ name = cfg.database.user;
|
|
||||||
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal ''
|
||||||
|
( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;"
|
||||||
|
echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};"
|
||||||
|
echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';"
|
||||||
|
) | ${config.services.mysql.package}/bin/mysql -N
|
||||||
|
'');
|
||||||
|
|
||||||
services.postgresql = optionalAttrs pgsqlLocal {
|
services.postgresql = optionalAttrs pgsqlLocal {
|
||||||
enable = true;
|
enable = true;
|
||||||
ensureDatabases = [ cfg.database.name ];
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, curl, libevent, libiconv, libxml2, openssl, pcre, zlib
|
{ stdenv, fetchurl, autoreconfHook, pkgconfig, curl, libevent, libiconv, libxml2, openssl, pcre, zlib
|
||||||
, jabberSupport ? true, iksemel
|
, jabberSupport ? true, iksemel
|
||||||
, ldapSupport ? true, openldap
|
, ldapSupport ? true, openldap
|
||||||
, odbcSupport ? true, unixODBC
|
, odbcSupport ? true, unixODBC
|
||||||
@ -25,7 +25,7 @@ in
|
|||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
curl
|
curl
|
||||||
libevent
|
libevent
|
||||||
@ -65,6 +65,13 @@ in
|
|||||||
find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} +
|
find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} +
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preAutoreconf = ''
|
||||||
|
for i in $(find . -type f -name "*.m4"); do
|
||||||
|
substituteInPlace $i \
|
||||||
|
--replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/zabbix/database/
|
mkdir -p $out/share/zabbix/database/
|
||||||
cp -r include $out/
|
cp -r include $out/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
generic: {
|
generic: {
|
||||||
v44 = generic {
|
v50 = generic {
|
||||||
version = "4.4.8";
|
version = "5.0.2";
|
||||||
sha256 = "0l9n4l5179lf90krv1kb0lraipj7q4hyba6r48n6rj2zqx2j4mn0";
|
sha256 = "1cnns7ixqi7ank3cbvcs7d8rb5zh9qiqbmgivazr83jnz81qg46w";
|
||||||
};
|
};
|
||||||
|
|
||||||
v40 = generic {
|
v40 = generic {
|
||||||
|
@ -18,7 +18,7 @@ import ./versions.nix ({ version, sha256 }:
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/share/zabbix/
|
mkdir -p $out/share/zabbix/
|
||||||
cp -a frontends/php/. $out/share/zabbix/
|
cp -a ${if stdenv.lib.versionAtLeast version "5.0.0" then "ui/." else "frontends/php/."} $out/share/zabbix/
|
||||||
cp ${phpConfig} $out/share/zabbix/conf/zabbix.conf.php
|
cp ${phpConfig} $out/share/zabbix/conf/zabbix.conf.php
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -687,6 +687,9 @@ mapAliases ({
|
|||||||
mumble_git = pkgs.mumble;
|
mumble_git = pkgs.mumble;
|
||||||
murmur_git = pkgs.murmur;
|
murmur_git = pkgs.murmur;
|
||||||
|
|
||||||
|
# added 2020-08-17
|
||||||
|
zabbix44 = throw "Zabbix 4.4 is end of life, see https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500 for details on upgrading to Zabbix 5.0.";
|
||||||
|
|
||||||
# added 2019-09-06
|
# added 2019-09-06
|
||||||
zeroc_ice = pkgs.zeroc-ice;
|
zeroc_ice = pkgs.zeroc-ice;
|
||||||
|
|
||||||
|
@ -16958,11 +16958,11 @@ in
|
|||||||
server = server-pgsql;
|
server = server-pgsql;
|
||||||
};
|
};
|
||||||
|
|
||||||
zabbix44 = recurseIntoAttrs (zabbixFor "v44");
|
zabbix50 = recurseIntoAttrs (zabbixFor "v50");
|
||||||
zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
|
zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
|
||||||
zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
|
zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
|
||||||
|
|
||||||
zabbix = zabbix44;
|
zabbix = zabbix50;
|
||||||
|
|
||||||
zipkin = callPackage ../servers/monitoring/zipkin { };
|
zipkin = callPackage ../servers/monitoring/zipkin { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user