mirror of
https://github.com/friendica/friendica
synced 2024-12-22 22:00:16 +00:00
Count inbound and outbound packets
This commit is contained in:
parent
ca5f93a4d5
commit
e011b5956a
13 changed files with 63 additions and 0 deletions
|
@ -78,3 +78,9 @@ The following will compress */var/log/friendica* (assuming this is the location
|
||||||
daily
|
daily
|
||||||
rotate 2
|
rotate 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### Zabbix
|
||||||
|
|
||||||
|
To monitor the health status of your Friendica installation, you can use for example a tool like Zabbix. Please define 'stats_key' in your local.config.php in the 'system' section to be able to access the statistics page at /stats?key=your-defined-stats_key
|
||||||
|
|
||||||
|
The statistics contain data about the worker performance, the last cron call, number of reports, inbound and outbound packets, posts and comments.
|
||||||
|
|
|
@ -4265,4 +4265,22 @@ class Item
|
||||||
Logger::warning('Post does not exist although it was supposed to had been fetched.', ['id' => $id, 'url' => $url, 'uid' => $uid]);
|
Logger::warning('Post does not exist although it was supposed to had been fetched.', ['id' => $id, 'url' => $url, 'uid' => $uid]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function incrementInbound(string $network)
|
||||||
|
{
|
||||||
|
$packets = DI::keyValue()->get('stats_packets_inbound_' . $network) ?? 0;
|
||||||
|
if ($packets >= PHP_INT_MAX) {
|
||||||
|
$packets = 0;
|
||||||
|
}
|
||||||
|
DI::keyValue()->set('stats_packets_inbound_' . $network, $packets + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function incrementOutbound(string $network)
|
||||||
|
{
|
||||||
|
$packets = DI::keyValue()->get('stats_packets_outbound_' . $network) ?? 0;
|
||||||
|
if ($packets >= PHP_INT_MAX) {
|
||||||
|
$packets = 0;
|
||||||
|
}
|
||||||
|
DI::keyValue()->set('stats_packets_outbound_' . $network, $packets + 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,9 +22,11 @@
|
||||||
namespace Friendica\Module\ActivityPub;
|
namespace Friendica\Module\ActivityPub;
|
||||||
|
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBA;
|
use Friendica\Database\DBA;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\BaseApi;
|
use Friendica\Module\BaseApi;
|
||||||
use Friendica\Module\Special\HTTPException;
|
use Friendica\Module\Special\HTTPException;
|
||||||
|
@ -103,6 +105,7 @@ class Inbox extends BaseApi
|
||||||
$uid = 0;
|
$uid = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::ACTIVITYPUB);
|
||||||
ActivityPub\Receiver::processInbox($postdata, $_SERVER, $uid);
|
ActivityPub\Receiver::processInbox($postdata, $_SERVER, $uid);
|
||||||
|
|
||||||
throw new \Friendica\Network\HTTPException\AcceptedException();
|
throw new \Friendica\Network\HTTPException\AcceptedException();
|
||||||
|
|
|
@ -22,8 +22,10 @@
|
||||||
namespace Friendica\Module\DFRN;
|
namespace Friendica\Module\DFRN;
|
||||||
|
|
||||||
use Friendica\BaseModule;
|
use Friendica\BaseModule;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Conversation;
|
use Friendica\Model\Conversation;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\Response;
|
use Friendica\Module\Response;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
|
@ -45,6 +47,8 @@ class Notify extends BaseModule
|
||||||
throw new HTTPException\BadRequestException();
|
throw new HTTPException\BadRequestException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::DFRN);
|
||||||
|
|
||||||
$data = json_decode($postdata);
|
$data = json_decode($postdata);
|
||||||
if (is_object($data) && !empty($this->parameters['nickname'])) {
|
if (is_object($data) && !empty($this->parameters['nickname'])) {
|
||||||
$user = User::getByNickname($this->parameters['nickname']);
|
$user = User::getByNickname($this->parameters['nickname']);
|
||||||
|
|
|
@ -25,6 +25,8 @@ use Friendica\App;
|
||||||
use Friendica\BaseModule;
|
use Friendica\BaseModule;
|
||||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\Response;
|
use Friendica\Module\Response;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
|
@ -57,6 +59,8 @@ class Receive extends BaseModule
|
||||||
throw new HTTPException\ForbiddenException($this->t('Access denied.'));
|
throw new HTTPException\ForbiddenException($this->t('Access denied.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::DIASPORA);
|
||||||
|
|
||||||
if ($this->parameters['type'] === 'public') {
|
if ($this->parameters['type'] === 'public') {
|
||||||
$this->receivePublic();
|
$this->receivePublic();
|
||||||
} else if ($this->parameters['type'] === 'users') {
|
} else if ($this->parameters['type'] === 'users') {
|
||||||
|
|
|
@ -28,6 +28,7 @@ use Friendica\Core\System;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\GServer;
|
use Friendica\Model\GServer;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
use Friendica\Module\Response;
|
use Friendica\Module\Response;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
|
@ -101,6 +102,7 @@ class PubSub extends \Friendica\BaseModule
|
||||||
|
|
||||||
$this->logger->info('Import item from Contact.', ['nickname' => $nickname, 'contact-nickname' => $contact['nick'], 'contact-id' => $contact['id']]);
|
$this->logger->info('Import item from Contact.', ['nickname' => $nickname, 'contact-nickname' => $contact['nick'], 'contact-id' => $contact['id']]);
|
||||||
$feedhub = '';
|
$feedhub = '';
|
||||||
|
Item::incrementOutbound(Protocol::OSTATUS);
|
||||||
OStatus::import($xml, $importer, $contact, $feedhub);
|
OStatus::import($xml, $importer, $contact, $feedhub);
|
||||||
|
|
||||||
throw new HTTPException\OKException();
|
throw new HTTPException\OKException();
|
||||||
|
|
|
@ -26,6 +26,7 @@ use Friendica\Core\L10n;
|
||||||
use Friendica\Core\Protocol;
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Model\GServer;
|
use Friendica\Model\GServer;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
use Friendica\Module\Response;
|
use Friendica\Module\Response;
|
||||||
use Friendica\Protocol\ActivityNamespace;
|
use Friendica\Protocol\ActivityNamespace;
|
||||||
|
@ -210,6 +211,7 @@ class Salmon extends \Friendica\BaseModule
|
||||||
|
|
||||||
$contact = $contact ?: [];
|
$contact = $contact ?: [];
|
||||||
|
|
||||||
|
Item::incrementOutbound(Protocol::OSTATUS);
|
||||||
OStatus::import($data, $importer, $contact, $hub);
|
OStatus::import($data, $importer, $contact, $hub);
|
||||||
|
|
||||||
throw new HTTPException\OKException();
|
throw new HTTPException\OKException();
|
||||||
|
|
|
@ -26,6 +26,7 @@ use Friendica\BaseModule;
|
||||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
|
use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\Model\Register;
|
use Friendica\Model\Register;
|
||||||
|
@ -116,6 +117,20 @@ class Stats extends BaseModule
|
||||||
'comments' => intval($this->keyValue->get('nodeinfo_local_comments')),
|
'comments' => intval($this->keyValue->get('nodeinfo_local_comments')),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
'packets' => [
|
||||||
|
'inbound' => [
|
||||||
|
Protocol::ACTIVITYPUB => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::ACTIVITYPUB) ?? 0),
|
||||||
|
Protocol::DFRN => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DFRN) ?? 0),
|
||||||
|
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DIASPORA) ?? 0),
|
||||||
|
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::OSTATUS) ?? 0),
|
||||||
|
],
|
||||||
|
'outbound' => [
|
||||||
|
Protocol::ACTIVITYPUB => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::ACTIVITYPUB) ?? 0),
|
||||||
|
Protocol::DFRN => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DFRN) ?? 0),
|
||||||
|
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DIASPORA) ?? 0),
|
||||||
|
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::OSTATUS) ?? 0),
|
||||||
|
]
|
||||||
|
],
|
||||||
'reports' => [
|
'reports' => [
|
||||||
'newest' => [
|
'newest' => [
|
||||||
'datetime' => $report_datetime,
|
'datetime' => $report_datetime,
|
||||||
|
|
|
@ -1011,6 +1011,7 @@ class DFRN
|
||||||
$content_type = ($public_batch ? 'application/magic-envelope+xml' : 'application/json');
|
$content_type = ($public_batch ? 'application/magic-envelope+xml' : 'application/json');
|
||||||
|
|
||||||
$postResult = DI::httpClient()->post($dest_url, $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DFRN);
|
$postResult = DI::httpClient()->post($dest_url, $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DFRN);
|
||||||
|
Item::incrementOutbound(Protocol::DFRN);
|
||||||
$xml = $postResult->getBodyString();
|
$xml = $postResult->getBodyString();
|
||||||
|
|
||||||
$curl_stat = $postResult->getReturnCode();
|
$curl_stat = $postResult->getReturnCode();
|
||||||
|
|
|
@ -2971,6 +2971,7 @@ class Diaspora
|
||||||
|
|
||||||
$postResult = DI::httpClient()->post($dest_url . '/', $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DIASPORA);
|
$postResult = DI::httpClient()->post($dest_url . '/', $envelope, ['Content-Type' => $content_type], 0, HttpClientRequest::DIASPORA);
|
||||||
$return_code = $postResult->getReturnCode();
|
$return_code = $postResult->getReturnCode();
|
||||||
|
Item::incrementOutbound(Protocol::DIASPORA);
|
||||||
} else {
|
} else {
|
||||||
Logger::notice('test_mode');
|
Logger::notice('test_mode');
|
||||||
return 200;
|
return 200;
|
||||||
|
|
|
@ -22,7 +22,9 @@
|
||||||
namespace Friendica\Protocol;
|
namespace Friendica\Protocol;
|
||||||
|
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
|
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
|
||||||
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
|
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
|
@ -226,6 +228,7 @@ class Salmon
|
||||||
$return_code = $postResult->getReturnCode();
|
$return_code = $postResult->getReturnCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementOutbound(Protocol::OSTATUS);
|
||||||
Logger::info('slapper for ' . $url . ' returned ' . $return_code);
|
Logger::info('slapper for ' . $url . ' returned ' . $return_code);
|
||||||
|
|
||||||
if (!$return_code) {
|
if (!$return_code) {
|
||||||
|
|
|
@ -29,6 +29,7 @@ use Friendica\DI;
|
||||||
use Friendica\Model\APContact;
|
use Friendica\Model\APContact;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\GServer;
|
use Friendica\Model\GServer;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\ItemURI;
|
use Friendica\Model\ItemURI;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
use Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses;
|
||||||
|
@ -309,6 +310,8 @@ class HTTPSignature
|
||||||
|
|
||||||
self::setInboxStatus($target, ($return_code >= 200) && ($return_code <= 299));
|
self::setInboxStatus($target, ($return_code >= 200) && ($return_code <= 299));
|
||||||
|
|
||||||
|
Item::incrementOutbound(Protocol::ACTIVITYPUB);
|
||||||
|
|
||||||
return $postResult;
|
return $postResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -655,6 +655,7 @@ class Notifier
|
||||||
|
|
||||||
$delivery_queue_count++;
|
$delivery_queue_count++;
|
||||||
Salmon::slapper($owner, $url, $slap);
|
Salmon::slapper($owner, $url, $slap);
|
||||||
|
Item::incrementOutbound(Protocol::OSTATUS);
|
||||||
Post\DeliveryData::incrementQueueDone($target_item['uri-id'], Post\DeliveryData::OSTATUS);
|
Post\DeliveryData::incrementQueueDone($target_item['uri-id'], Post\DeliveryData::OSTATUS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue