Table of Contents
PdoConnect
Description
Verify a database connection with PDO connect.
PDO supports a wide range of database types - see http://php.net/manual/en/pdo.drivers.php. I tested it with Mysql, PostGres, Sqlite.
Syntax
$oMonitor->addCheck(
[
"name" => "Mysql Master",
"description" => "Connect mysql db X on server Y",
"check" => [
"function" => "PdoConnect",
"params" => [
"connect" => [pdo connect string],
"user" => [database user],
"password" => [password],
],
],
]
);
Parameters
key | type | description |
---|---|---|
connect🔸 | (string) | connect string, i.e. ‘mysql:host=localhost;port=3306;dbname=mydatabase;’ |
user | (string) | mysql username |
password | (string) | password |
timeout | (integer) | optional timeout in sec; default: 5 |
🔸 required
Remark:
The idea is not to enter credentials in the parameters. You should parse the config of your application and insert its variables.
Examples
None yet.
Sqlite
PDO connect examples:
sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite:
PHP snippet:
$sSqlitefile=$aConfig['dataDir'].'/database/logs.db';
$oMonitor->addCheck(
[
"name" => "Sqlite DB for action logs",
"description" => "Connect sqlite db ". basename($sSqlitefile),
"parent" => "read config file",
"check" => [
"function" => "SqliteConnect",
"params" => [
"db"=>$sSqlitefile
],
],
]
);
Mysql
PDO connect examples:
mysql:host=localhost;dbname=testdb
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb
PHP snippet:
$sPdoConnectString = "mysql:host=$aDb[server];port=3306;dbname=$aDb[database];";
$oMonitor->addCheck(
[
"name" => "Mysql Master",
"description" => "Connect mysql server " . $aDb['server'] . " as user " . $aDb['username'] . " to scheme " . $aDb['database'],
"parent" => "read config file",
"check" => [
"function" => "PdoConnect",
"params" => [
"connect" => $sPdoConnectString,
"user" => $aDb['username'],
"password" => $aDb['password'],
],
],
]
);