A method for monitoring a rail vehicle, comprising: acquiring (S102), by a local device, current operating data and historical operating data of the rail vehicle from a controller of the rail vehicle, wherein the local device, which is connected with the controller, is a portable testing device; obtaining (S104), by the local device, fault information according to the current operating data and the historical operating data, wherein the fault information comprises at least one of a fault code and a fault description; obtaining (S106), by the local device, a maintenance plan corresponding to the fault information, wherein the maintenance plan is obtained through a remote device or a server side; and maintaining (S108), by the local device, the rail vehicle according to the maintenance plan; wherein in the case of the maintenance plan is obtained through the server side, obtaining (S106) the maintenance plan through the server side comprises: sending, by the local device, the fault code to the server side, wherein the server side queries according to the fault code to obtain a corresponding first maintenance resource, wherein the first maintenance resource comprises at least one of a video resource and an image resource; and receiving, by the local device, the first maintenance resource returned by the server side; wherein obtaining, by the local device, a maintenance plan corresponding to the fault information comprises: acquiring, by the local device, the fault code; then, querying, by the local device, a corresponding maintenance case from a database of the server side, and acquiring data of the maintenance case from the server side; wherein when the query fails, the local device connecting the remote device to apply for an expert to perform remote maintenance, and obtain the maintenance plan. acquiring (S102), by a local device, current operating data and historical operating data of the rail vehicle from a controller of the rail vehicle, wherein the local device, which is connected with the controller, is a portable testing device; obtaining (S104), by the local device, fault information according to the current operating data and the historical operating data, wherein the fault information comprises at least one of a fault code and a fault description; obtaining (S106), by the local device, a maintenance plan corresponding to the fault information, wherein the maintenance plan is obtained through a remote device or a server side; and maintaining (S108), by the local device, the rail vehicle according to the maintenance plan; wherein in the case of the maintenance plan is obtained through the server side, obtaining (S106) the maintenance plan through the server side comprises: sending, by the local device, the fault code to the server side, wherein the server side queries according to the fault code to obtain a corresponding first maintenance resource, wherein the first maintenance resource comprises at least one of a video resource and an image resource; and receiving, by the local device, the first maintenance resource returned by the server side; sending, by the local device, the fault code to the server side, wherein the server side queries according to the fault code to obtain a corresponding first maintenance resource, wherein the first maintenance resource comprises at least one of a video resource and an image resource; and receiving, by the local device, the first maintenance resource returned by the server side; wherein obtaining, by the local device, a maintenance plan corresponding to the fault information comprises: acquiring, by the local device, the fault code; then, querying, by the local device, a corresponding maintenance case from a database of the server side, and acquiring data of the maintenance case from the server side; wherein when the query fails, the local device connecting the remote device to apply for an expert to perform remote maintenance, and obtain the maintenance plan. <EOS>