TeamCity features backup and restore options, which let you save your system's state and restore it when it is needed.
Starting with TeamCity 9.0, project import has also been added, which lets you rearrange projects among servers: you can transfer projects with all their data (settings, builds and changes history, etc.), as well as your TeamCity user accounts, from one server to another.
Builds produce logs and artifacts, which occupy disk space on the server.
Disk Usage report gives you a clear view of how much space each project takes up, as well as insights on builds with unusually large build logs or artifacts.
TeamCity keeps a history of the builds with their artifacts and other data.
To limit the number of builds kept in the history, you can define a clean-up policy for each project or configuration, with a wide spectrum of filters: for example, you may choose to keep all the builds from a specific branch, or with a specific tag.
Data clean-up runs in the background, according to the configured policies. You can customize its schedule with the use of cron-like expressions to have the server cleanup start at any regular intervals.
Similarly to the Disk usage, you can see how many resources are taken up by a project with its subprojects. Further drilling down is also possible.
TeamCity has a dashboard for monitoring the state of your build server.
There you can easily spot different configuration problems: redundant or unused VCS roots, build configurations with large build logs, critical errors, etc.
TeamCity also exposes its metrics via an HTTP endpoint, so they can be scraped by Prometheus and then visualized via the Prometheus web interface, or in a Grafana dashboard.