Source code for kibana._async.client.status
"""Async Kibana Status API client."""
from typing import TYPE_CHECKING, Any
from elastic_transport import ObjectApiResponse
from kibana._async.client.utils import AsyncNamespaceClient
if TYPE_CHECKING:
from kibana._async.client import AsyncKibana
[docs]
class AsyncStatusClient(AsyncNamespaceClient):
"""Async client for Kibana Status API operations."""
[docs]
def __init__(self, client: "AsyncKibana") -> None:
"""
Initialize the AsyncStatusClient.
:param client: The parent AsyncKibana client instance
"""
super().__init__(client)
[docs]
async def get_status(self) -> ObjectApiResponse[dict[str, Any]]:
"""
Get the current status of the Kibana server.
Returns information about the Kibana server status including:
- Overall status level (available, degraded, unavailable)
- Individual service statuses (Elasticsearch, SavedObjects, etc.)
- Version information
- Server name and UUID
:return: ObjectApiResponse containing status information
"""
return await self.perform_request(
"GET",
"/api/status",
headers={"accept": "application/json"},
)
[docs]
async def get_stats(self) -> ObjectApiResponse[dict[str, Any]]:
"""
Get operational statistics about the Kibana server.
Returns detailed metrics including:
- Process information (memory usage, uptime)
- OS information (platform, load, memory)
- Response times and request counts
- Concurrent connections
:return: ObjectApiResponse containing statistics
"""
return await self.perform_request(
"GET",
"/api/stats",
headers={"accept": "application/json"},
)